| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1137 人关注过本帖
标题:递归 栈溢出问题
只看楼主 加入收藏
温润博雅
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-3-11
结帖率:100%
收藏
 问题点数:0 回复次数:0 
递归 栈溢出问题
#include <iostream>
using namespace std;
int pisa[100001][11];
int sum[100001][11];
int T;
int maxSum(int a, int b, int c)
{
    int max(0);
    if (a>max)
        max=a;
    if (b>max)
        max=b;
    if (c>max)
        max=c;
    return max;
}
int mypisa(int r, int j)
{
    if (r==T)
        return sum[r][j];
    if (j==0)
    {
        if (sum[r+1][j]==-1)
            sum[r+1][j]=mypisa(r+1,j);
        if (sum[r+1][j+1]==-1)
            sum[r+1][j+1]=mypisa(r+1,j+1);
        if (sum[r+1][j] > sum[r+1][j+1])
            return sum[r+1][j] + pisa[r][j];
        return sum[r+1][j+1] + pisa[r][j];
    }
    else if (j==10)
    {
        if (sum[r+1][j]==-1)
            sum[r+1][j]=mypisa(r+1,j);
        if (sum[r+1][j-1]==-1)
            sum[r+1][j-1]=mypisa(r+1,j-1);
        if (sum[r+1][j] > sum[r+1][j-1])
            return sum[r+1][j] + pisa[r][j];
        return sum[r+1][j-1] + pisa[r][j];
    }
    else
    {
        if (sum[r+1][j-1]==-1)
            sum[r+1][j-1]=mypisa(r+1,j-1);
        if (sum[r+1][j]==-1)
            sum[r+1][j]=mypisa(r+1,j);
        if (sum[r+1][j+1]==-1)
            sum[r+1][j+1]=mypisa(r+1,j+1);
        return
            maxSum(sum[r+1][j-1],sum[r+1][j],sum[r+1][j+1])
            + pisa[r][j];
    }
}
int main()
{
    int x, t, n;
    while (cin>>n && n!=0)
    {
        memset(sum,-1,sizeof(sum));
        memset(pisa,0,sizeof(pisa));
        T=0;
        for (int i=0; i<n; i++)
        {
            cin >>x>>t;
            pisa[t][x]++;
            if (t>T)
                T=t;
        }
        for (i=0; i<=10; i++)
            sum[T][i]=pisa[T][i];
        cout <<mypisa(0,5)<<endl;
    }
    return 0;
}
这是杭电acm免费馅饼问题,
输入
1
1 10000
结果正确
输入
1
1 20000
就会出错。提交结果是栈溢出,请高手帮忙!谢谢!
搜索更多相关主题的帖子: 递归 
2009-07-28 11:23
快速回复:递归 栈溢出问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019924 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved