#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n;
//记忆化搜索
int ans[33][33];
int f(int x,int y)//当前位置和 剩余次数
{
if(y==0){
if(x==0)return ans[0][0]=1;
else if(x>0)return ans[x][0]=0;
else return 0;
}
if(ans[x][y]!=-1)return ans[x][y];
ans[x][y]=f((x+1)%n,y-1)+f((x-1+n)%n,y-1);//取模需要+n
return ans[x][y];
}
int main()
{
memset(ans,-1,sizeof(ans));
int m;
scanf("%d%d",&n,&m);
printf("%d",f(0,m));
return 0;
}
洛谷P1057 传球游戏
最新推荐文章于 2024-05-14 13:38:59 发布