(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 #283485

#TimeUsernameProblemLanguageResultExecution timeMemory
283485caoashKangaroo (CEOI16_kangaroo)C++14
100 / 100
48 ms31736 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using vi = vector<int>; #define pb push_back #define rsz resize #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() using pi = pair<int,int>; #define f first #define s second #define mp make_pair const int MOD = (int) 1e9 + 7; ll dp[2005][2005]; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n, a, b; cin >> n >> a >> b; dp[0][0] = 1; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (i == a || i == b) { dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1]; } else { dp[i][j] = ((j * dp[i - 1][j + 1]) % MOD) + (((j - (i > a) - (i > b)) * dp[i - 1][j - 1]) % MOD) % MOD; } } } cout << dp[n][1] << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...