程序设计基础(二)递推
1.母牛的故事#includebits/stdc.h using namespace std; #define endl \n #define INF ((int)1e18) typedef long long ll; const int N60; int n; ll a[N]; int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cinn; a[1]1; a[2]2; a[3]3; for(int i4;in;i){ a[i]a[i-1]a[i-3]; } couta[n]endl; return 0; }2.养兔子#includebits/stdc.h using namespace std; #define endl \n #define INF ((int)1e18) typedef long long ll; const int N100; int n; ll a[N]; int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cinn; a[1]1; a[2]2; for(int i3;in;i){ a[i]a[i-1]a[i-2]; } couta[n]; return 0; }3.骨牌铺方格#includebits/stdc.h using namespace std; #define endl \n #define INF ((int)1e18) typedef long long ll; const int N55; int n; ll a[N]; int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cinn; a[1]1; a[2]2; for(int i3;in;i){ a[i]a[i-1]a[i-2]; } couta[n]endl; return 0; }4.马拦过河卒#includebits/stdc.h using namespace std; #define endl \n #define INF ((int)1e18) typedef long long ll; const int N1e510; const int mod998244353; int x,y; int m,n; vectorvectorll a(30,vectorll(30,1)); int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cinmnxy; int dx[]{2,1,-1,-2,2,1,-1,-2}; int dy[]{1,-2,-2,-1,-1,2,2,1}; a[x][y]0; for(int i0;i8;i){ int nxxdx[i]; int nyydy[i]; a[nx][ny]0; } if(a[0][0]0) cout0endl; else{ for(int i0;im;i){ for(int j0;jn;j){ if(i0j0) continue; if(a[i][j]0) continue; if(i0) a[i][j]a[i][j-1]; else if(j0) a[i][j]a[i-1][j]; else{ a[i][j]a[i-1][j]a[i][j-1]; } } } couta[m][n]endl; } return 0; }5.黄金时代#includebits/stdc.h using namespace std; #define endl \n #define INF ((int)1e18) typedef long long ll; const int N35; int n; int a[N]; int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cinn; a[1]5; for(int i2;in;i){ a[i]round(a[i-1]/0.6180339887); } couta[n]endl; return 0; }6.爬楼梯#includebits/stdc.h using namespace std; #define endl \n #define INF ((int)1e18) typedef long long ll; const int N55; int n; ll a[N]; int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cinn; a[1]1; a[2]2; for(int i3;in;i){ a[i]a[i-1]a[i-2]; } couta[n]endl; return 0; }7.三国佚事--巴蜀之危#includebits/stdc.h using namespace std; #define endl \n #define INF ((int)1e18) typedef long long ll; const int N55; int n; ll a[N]; int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cinn; a[1]0; a[2]1; a[3]2; for(int i4;in;i){ a[i](i-1)*(a[i-1]a[i-2]); } couta[n]endl; return 0; }8.王小二切饼#includebits/stdc.h using namespace std; #define endl \n #define INF ((int)1e18) typedef long long ll; const int N105; int n; ll a[N]; int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cinn; a[1]2; for(int i2;in;i){ a[i]ia[i-1]; } couta[n]endl; return 0; }9.蟠桃记#includebits/stdc.h using namespace std; #define endl \n #define INF ((int)1e18) typedef long long ll; const int N35; int n; ll a[N]; int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cinn; a[1]1; for(int i2;in;i){ a[i](a[i-1]1)*2; } couta[n]endl; return 0; }10.拍皮球#includeiostream #includestring #includealgorithm #includecmath #includeiomanip using namespace std; int main() { double h; int n; cin h n; double a[n1]; double sum; a[0] h; for (int i 1; i n; i) { a[i] a[i-1] / 2.0; } if (n 1) { sum h; } else { sum h; for (int i 1; i n; i) { sum a[i] * 2.0; } } cout fixed setprecision(2) sum a[n]; return 0; }