| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 453 人关注过本帖, 1 人收藏
标题:递推题,哪错了??
取消只看楼主 加入收藏
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
结帖率:66.67%
收藏(1)
已结贴  问题点数:10 回复次数:2 
递推题,哪错了??
A(m,n)= n+1  (m=0)
A(m,n)= A(m-1,1)   ( m>0,n=0)
A(m,n)= A(m-1,A(m,n-1))    (m>0,n>0)
输入
输入包含多组测试数据,每组测试数据包含两个整数:m  (0 < m <= 3)和 n ( 0 <= n <= 1000000)
输出
  对应每组测试数据,输出相应的A(m,n);
样例输入
1 3
2 4
样例输出
5
11
提示
要注意的是,当m等于3时,n最大为24。




程序代码:
#include<cstdio>

__int64 a[3][1000000];
int main()
{
    int i,j,m,n;
    while(scanf("%d%d",&m,&n)!=EOF)
    {
        for(i=0;i<=n;++i)
            a[0][i] = i + 1;
        a[1][0] = 2;
        a[2][0] = 3;
        a[3][0] = 5;
        for(i=1;i<=m;++i)
            for(j=1;j<=n;++j)
                a[i][j] = a[i-1][a[i][j-1]];
        printf("%I64d\n",a[m][n]);    
    }
    return 0;
}


哪错了?

[ 本帖最后由 cb_1212 于 2011-12-21 22:21 编辑 ]
搜索更多相关主题的帖子: 测试 
2011-12-21 22:12
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
回复 2楼 beyondyf
唉 现在才发现我好幼稚
算法还一点都没学,DP模拟什么的都不会,期待下学期的数据结构课。。。。。。。。已经AC,谢了!!唉 现在才发现我好幼稚
算法还一点都没学,DP模拟什么的都不会,期待下学期的数据结构课。。。。。。。。已经AC,谢了!!

[ 本帖最后由 cb_1212 于 2011-12-21 23:28 编辑 ]
2011-12-21 23:27
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
其实根本不必用数组。晕,我都不知道怎么一开始就开数组了。。。
程序代码:
#include<cstdio>

int main()
{
    int res,m,n;
    while(scanf("%d%d",&m,&n)!=EOF)
    {
            
            if(m==0)
                res = n + 1;
             if(m==1)
                res = n + 2;
            if(m==2)
                res = 2 * n + 3;
            if(m==3)
                res = (1<<(n+3)) - 3; 
        printf("%d\n",res);    
    }
    return 0;
}
2011-12-22 16:27
快速回复:递推题,哪错了??
数据加载中...
 
   



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

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