Submission #1118228

#TimeUsernameProblemLanguageResultExecution timeMemory
1118228vjudge1Kangaroo (CEOI16_kangaroo)C++17
100 / 100
14 ms31568 KiB
#include <bits/stdc++.h> using namespace std; # define int long long const int mod = 1e9 + 7; int dp[2001][2001]; void solve() { int n, cf, cn, cnt = 0; cin >> n >> cf >> cn; dp[1][1] = 1; for(int i = 1; i <= n; i++) { if(i == cf || i == cn) cnt++; for(int j = 1; j < i; j++) { if(i == cf || i == cn) { dp[i][j] += (dp[i - 1][j]) % mod; dp[i][j + 1] += (dp[i - 1][j] % mod); } else { dp[i][j + 1] += (dp[i - 1][j] * (j + 1 - cnt)) % mod; dp[i][j - 1] += (dp[i - 1][j] * (j - 1)) % mod; } } } cout << dp[n][1] << endl; } signed main() { int tt = 1; // cin >> tt; while(tt--) 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...