(UPD: 2024-12-04 14:48 UTC) Judge is not working due to Cloudflare incident. (URL) We can do nothing about it, sorry. After the incident is resolved, we will grade all submissions.

Submission #506237

#TimeUsernameProblemLanguageResultExecution timeMemory
506237rodovKangaroo (CEOI16_kangaroo)C++14
100 / 100
16 ms24036 KiB
#include <bits/stdc++.h> using namespace std; long long n,s,f,k; long long d[5007][5007]; const long long MOD = 1000000007; int main() { cin >> n >> s >> f; d[1][1] = 1; for(int i=2; i<=n; i++) for(int j=1; j<=i; j++) { if(i==s || i==f) d[i][j] = (d[i-1][j-1]+d[i-1][j])%MOD; else { k = j; if(i>s) k--; if(i>f) k--; if(k<0) k = 0; d[i][j] = (d[i-1][j+1]*j + d[i-1][j-1]*k) % MOD; } } cout << d[n][1] << endl; 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...