Submission #1200826

#TimeUsernameProblemLanguageResultExecution timeMemory
1200826SyedSohaib_123Kangaroo (CEOI16_kangaroo)C++20
0 / 100
0 ms396 KiB
#include <bits/stdc++.h> #define append push_back #define int long long using namespace std; const int N=2e3+10; int dp[N][N]; void solve(){ int n,s,e; cin>>n>>s>>e; int s_=0,e_=0; dp[1][1]=1; for(int i=1;i<=n;i++){ s_|=i==s; e_|=i==e; for(int j=1;j<=i;j++){ if(i+1==s or i+1==e){ dp[i+1][j+1]+=dp[i][j]; dp[i+1][j]+=dp[i][j]; } else{ dp[i+1][j+1]+=dp[i][j]*(j+1-s_-e_); dp[i+1][j]+=dp[i][j]*(2*j-s_-e_); dp[i+1][j-1]+=dp[i][j]*(j-1); } } } cout<<dp[n][1]<<endl; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int T = 1; // cin >> T; while (T--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...