有哪位精通c语言算法的大神,帮忙做题,注意是c语言算法题,有好处的,请留下扣扣。急急急!!!

如题所述

/*
*将环拆成0到n的直线,0和n都表示该苦逼学生,以0为球的出发点
*/
#include<stdio.h>
int a[31][31];//a[i][j]表示球经过j步走到节点i的走法数量
main()
{
    int m,n;
    scanf("%d %d",&n,&m);
    for(int i=0;i<=n;++i)
    {
        if(i==1) a[i][1]=1;
        else a[i][1]=0;
    }
    for(int j=2;j<=m;++j)
    {
        for(int i=0;i<=n;++i)
        {
            if(i<=1) a[i][j]=a[i+1][j-1];//0,1只接受从右边传来的球
            else if(i>=n-1) a[i][j]=a[i-1][j-1];//n-1,n只接受从左边传来的球
            else a[i][j]=a[i-1][j-1]+a[i+1][j-1];//其他情况则把两种可能性相加
        }
    }
    //只考虑初始从左边出发的情况(0为出发点),所以最终结果要乘2
    printf("%d\n",2*(a[0][m]+a[n][m]));
}追问

你这是什么意思。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-18
是哪类算法?先说来听听追问

DP和回溯

第2个回答  2015-05-18
你到底有什么事儿?。。。。。追问

DP和回溯的题会不?

相似回答