2 solutions
-
0
#include <bits/stdc++.h> using namespace std; int n,m,f[130][130],f1[130][130]; int dfs(int x,int deep){ if(f1[x][deep])return f[x][deep]; if(deep>m){ if(x1)return 1; return 0; } if(x-1>m-deep+1&&n-x+1>m-deep+1)return 0; if(x1) f[x][deep]+=dfs(n,deep+1); else f[x][deep]+=dfs(x-1,deep+1); if(x==n) f[x][deep]+=dfs(1,deep+1); else f[x][deep]+=dfs(x+1,deep+1); f1[x][deep]=1; return f[x][deep]; } int main(){ cin>>n>>m; cout<<dfs(1,1); return 0; }
- 1
Information
- ID
- 150
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 75
- Accepted
- 27
- Uploaded By