竞赛
考级
#include<bits/stdc++.h> using namespace std; int m,n;//总共m个人,传n次; int d[35][35];//代表从第一个人开始传i次能到j手里的方法数; int pre(int x){ if(x>m) return x-m; if(x<1) return m+x; return x; } int main(){ cin>>m>>n; d[0][1]=1; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++) d[i][j]=d[i-1][pre(j-1)]+d[i-1][pre(j+1)]; } cout<<d[n][1]; return 0; } 还是不懂递推与动态规划的核心区别
Amadeus
章静远
有注释
h~
前言:建议升黄/普及
重生之我是菜狗
链接描述](https://www.acgo.cn/problemset/10/explanation)
宙斯降临
Alxe
周秉言
#include<bits/stdc++.h> using namespace std; int n,m,a[1010][1010]; int main(){ cin>>n>>m; a[1][n]=1; a[1][2]=1; for(int i=2;i<=m;i++){ for(int j=1;j<=n;j++){ int b=j-1; int c=j+1; if(b<1){ b=n; } if(c>n){ c=1; } a[i][j]=a[i-1][b]+a[i-1][c]; } } cout<<a[m][1]; return 0; }
复仇者_黑客_ZDZL
#include<bits/stdc++.h> using namespace std; int n,m,a[100][100]; int main(){ cin>>n>>m; a[1][n]=1; a[1][2]=1; for(int i=2;i<=m;i++){ for(int j=1;j<=n;j++){ int b=j-1; int c=j+1; if(b<1){ b=n; } if(c>n){ c=1; } a[i][j]=a[i-1][b]+a[i-1][c]; } } cout<<a[m][1]; return 0;
159****8953
伊莱克斯黑化吧
#include <iostream> #include <vector> using namespace std; int main() { int n, m; cin >> n >> m; vector<vector<int>> dp(m + 1, vector<int>(n + 1, 0)); dp[0][1] = 1; // 初始状态:0次传球时球在1号同学手中 for (int i = 1; i <= m; i++) { for (int j = 1; j <= n; j++) { int left = (j == 1) ? n : j - 1; int right = (j == n) ? 1 : j + 1; dp[i][j] = dp[i-1][left] + dp[i-1][right]; } } cout << dp[m][1] << endl; return 0; }
智慧达达(1)
#include <iostream> #include <unordered_map> using namespace std; int main() { int N, C; cin >> N >> C; unordered_map<int, int> freq; long long count = 0; }
9100小迪(不加团队)
去去去(互关)
༺ཌༀ元气满满ༀད༻
共34条
提交答案之后,这里将显示提交结果~