#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
int dp[35][35];
memset(dp,0,sizeof(dp));
dp[0][1]=1;
dp[1][2]=1;
dp[1][n]=1;
for(int i=2;i<=m;i++) // i代表传娃娃传了第i次
{
for(int j=1;j<=n;j++) // j代表同事的序号
{
if(j-1>=1 && j+1<=n)
dp[i][j]=dp[i-1][j-1]+dp[i-1][j+1]; //状态转移方程!(围成环坐的,注意边界)
else if(j==1)
dp[i][1]=dp[i-1][n]+dp[i-1][2];
else if(j==n)
dp[i][n]=dp[i-1][n-1]+dp[i-1][1];
}
}
cout<<dp[m][1];
return 0;
}
【蓝桥杯-动态规划】传娃娃游戏
最新推荐文章于 2022-02-17 11:17:26 发布