Submission #813180

#TimeUsernameProblemLanguageResultExecution timeMemory
813180ttamxKangaroo (CEOI16_kangaroo)C++14
6 / 100
0 ms340 KiB
#include<bits/stdc++.h> using namespace std; const int N=2005; const int mod=1e9+7; int n,s,e; int dp[N][N]; int main(){ cin.tie(nullptr)->sync_with_stdio(false); cin >> n >> s >> e; dp[1][1]=1; int cnt=2; for(int i=1;i<=n;i++){ if(i==s||i==e){ for(int j=1;j<=i;j++){ dp[i][j]=dp[i-1][j]+dp[i-1][j-1]; if(dp[i][j]>=mod)dp[i][j]-=mod; } cnt--; continue; } for(int j=1;j<i;j++){ dp[i][j+1]=(dp[i][j+1]+1ll*dp[i-1][j]*(cnt+j-1))%mod; dp[i][j-1]=(dp[i][j-1]+1ll*dp[i-1][j]*(j-1))%mod; } } cout << dp[n][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...