传球游戏
传球游戏
https://ac.nowcoder.com/acm/problem/16619
//传球游戏
//dp
//f[i][j]表示第j次传球传到i的可能数
//f[i][j]=f[i-1][j-1]+f[i+1][j-1]
//首尾的人特判
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll f[35][35];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int n,m;
cin>>n>>m;
f[1][0]=1;//第一个人初始化
for(int j=1;j<=m;j++)
for(int i=1;i<=n;i++)
{
if(i==1) f[i][j]=f[n][j-1]+f[i+1][j-1];//第一个人特判
else if(i==n) f[i][j]=f[i-1][j-1]+f[1][j-1]; //最后一个人特判
else f[i][j]=f[i-1][j-1]+f[i+1][j-1];
}
cout<<f[1][m]<<endl;
}

深信服公司福利 734人发布