tijie

蔡悠然  •  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;
}


评论: