很简单的动态规划
方程:
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 人评分
C语言程序设计教程(第三版)课后习题6.7 (C++代码)(经常这样写会不会被打死)浏览:2504 |
点我有惊喜!你懂得!浏览:1401 |
简单的a+b (C语言代码)浏览:642 |
简单的a+b (C语言代码)浏览:720 |
C语言程序设计教程(第三版)课后习题8.3 (Java代码)浏览:1367 |
【出圈】 (C语言代码)浏览:553 |
大小写转换 (C语言代码)浏览:839 |
A+B for Input-Output Practice (II) (C语言代码)浏览:989 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:1051 |
简单的for循环浏览:1408 |