题解 | 传球游戏(DP)
2025-11-09 20:54:30
发布于:江苏
3阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, m, dp[35][35];
//dp表示传 j 次到第 i 个同学的方案数
cin >> n >> m;
memset(dp, 0, sizeof(dp));
dp[1][0] = 1;
for(int j = 1; j <= m; j++){
for(int i = 1; i <= n; i++)
dp[i][j] = dp[(i - 1 + n - 1) % n + 1][j - 1] + dp[(i + 1 - 1) % n + 1][j - 1];
//两边的球都可以传给他 -1 +1 为了避免 % 后为0
}
cout << dp[1][m];
return 0;
}
这里空空如也


有帮助,赞一个