Submission #315740

#TimeUsernameProblemLanguageResultExecution timeMemory
315740fadi57캥거루 (CEOI16_kangaroo)C++14
6 / 100
2091 ms384 KiB
#include <bits/stdc++.h> using namespace std; const int mx=2000; typedef long long ll; int n,m; int st,en; //(i,x,state); map<int,int>mp; int dp[mx][mx][3]; int solve(int i,int x,int dir){ if(i==en){ if(x==n){ return 1;} return 0; } // int &ret=dp[i][x][dir]; // if(ret!=-1){return ret;} int ret=0; if(dir==0){ for(int j=i+1;j<=n;j++){ if(mp[j]){continue;} mp[j]=1; ret+=solve(j,x+1,dir^1); mp[j]=0; } }else{ for(int j=i-1;j>=1;j--){ if(mp[j]){continue;} mp[j]=1; ret+=solve(j,x+1,dir^1); mp[j]=0; } }return ret; } int main() { cin>>n>>st>>en; //memset(dp,-1,sizeof(dp)); //cout<<dp[0][0][0]; mp[st]=1; cout<<solve(st,1,0)+solve(st,1,1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...