蔡悠然 • 2个月前
#include<cstdio>
int n,m,f[35][35];
int main()
{
freopen("ball.in","r",stdin);
freopen("ball.out","w",stdout);
scanf("%d%d",&n,&m);
f[0][1]=1;
for(int i=1;i<=m;i++)
{
f[i][1]=f[i-1][n]+f[i-1][2];//特殊处理
for(int j=2;j<n;j++) f[i][j]=f[i-1][j-1]+f[i-1][j+1];//动态转移方程
f[i][n]=f[i-1][n-1]+f[i-1][1];//特殊处理
}
printf("%d",f[m][1]);//表示第m次传球传给第1个人最多有多少种方案
fclose(stdin);
fclose(stdout);
return 0;
}
评论: