很简单的动态规划
方程:
a[i][j]=a[i-1][(j+n-1-1)%n+1]+a[i-1][(j+n+1-1)%n+1];
现在还是觉得(j+n+i-1)%n+1这个式子挺妙的
参考代码:
#include<iostream> #include<cstdio> #include<algorithm> #include<string> #include<cmath> #include<vector> #include<set> #include<sstream> #include<cstring> #include<utility> using namespace std; typedef long long ll; typedef long l; const int N = 200020; int n,m,a[40][40]; int main(){ cin>>n>>m; a[0][1]=1; for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ a[i][j]=a[i-1][(j+n-1-1)%n+1]+a[i-1][(j+n+1-1)%n+1]; //cout<<i<<" "<<j<<" "<<a[i][j]<<endl; } } cout<<a[m][1]; }
0.0分
5 人评分
小明A+B (C语言代码)浏览:1247 |
最小公倍数 (C语言代码)浏览:862 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:532 |
WU-输入输出格式练习 (C++代码)浏览:1076 |
【绝对值排序】 (C语言代码)浏览:820 |
C语言训练-自由落体问题 (C语言代码)浏览:610 |
字符逆序 (C语言代码)浏览:609 |
蚂蚁感冒 (C语言代码)浏览:1319 |
1014题解浏览:484 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:551 |