DP之四
//sicily 1763. 传球游戏
#include<iostream> //DP
#include<cstring>
using namespace std;
int main()
{
int n,m,dp[100][100];
while(cin>>n>>m)
{
memset(dp,0,sizeof(dp));
dp[1][0]=1; //初始化,一开始球在 1 号手里
for(int j=1;j<=m;++j) //dp[i][j]表示球经传递 j 次后落在第 i 个同学的方案数
for(int i=1;i<=n;++i)
{
if(i==1)
dp[i][j]=dp[2][j-1]+dp[n][j-1];
else if(i==n)
dp[i][j]=dp[1][j-1]+dp[n-1][j-1];
else
dp[i][j]=dp[i+1][j-1]+dp[i-1][j-1]; //状态转移方程
}
cout<<dp[1][m]<<endl;
}
return 0;
}