Submission #1225319

#TimeUsernameProblemLanguageResultExecution timeMemory
1225319MarwenElarbiKangaroo (CEOI16_kangaroo)C++17
0 / 100
0 ms324 KiB
#include <bits/stdc++.h> using namespace std; const int nax=2e3+5; const int MOD=1e9+7; long long dp[nax][nax]; int main() { /*#ifndef ONLINE_JUDGE freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); #endif*/ int n,l,r; cin>>n>>l>>r; if(l>r) swap(l,r); dp[0][0]=1; for (int i = 1; i <= n; ++i) { for (int j = 0; j <= n; ++j) { if(i==l||i==r){ dp[i][j]+=dp[i-1][j+1]*(j+1); if(j>0) dp[i][j]+=dp[i-1][j-1]; }else{ if(j>1) dp[i][j]+=dp[i-1][j-2]; dp[i][j]+=dp[i-1][j+2]*(j+1)*(j+2)/2; } //cout << i << " "<<j<<" "<<dp[i][j]<<endl; dp[i][j]%=MOD; } } cout <<dp[n-1][0]<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...