Submission #1139208

#TimeUsernameProblemLanguageResultExecution timeMemory
1139208I_FloPPed21Kangaroo (CEOI16_kangaroo)C++20
100 / 100
16 ms23108 KiB
#include <iostream> using namespace std; const int N=2001; const long long mod=1e9+7; int n,st,fin; long long dp[N][N]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); dp[1][1]=1; cin>>n>>st>>fin; for(int i=2;i<=n;i++) { for(int j=1;j<=i;j++) { if(i==st||i==fin) { dp[i][j]=(dp[i-1][j]+dp[i-1][j-1])%mod; } else { dp[i][j]=((dp[i-1][j-1]*(j-(i>st)-(i>fin)))%mod)+(dp[i-1][j+1]*j)%mod; dp[i][j]%=mod; } } } cout<<dp[n][1]<<'\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...