# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
393919 | 2021-04-24T22:32:06 Z | KhaledFarhat | Kangaroo (CEOI16_kangaroo) | C++14 | 2 ms | 332 KB |
#include <bits/stdc++.h> using namespace std; const int MOD = 1000000007; int Add(int x, int y) { return (x + y) % MOD; } void Increase(int& x, int y) { x = Add(x, y); } int Multiply(int x, int y) { return 1LL * x * y % MOD; } int main() { freopen("kangaroo.in", "r", stdin); freopen("kangaroo.out", "w", stdout); ios_base::sync_with_stdio(false); cin.tie(NULL); int n, startPosition, finishPosition; cin >> n >> startPosition >> finishPosition; vector<vector<int>> ways(n + 2, vector<int>(n + 1)); ways[1][1] = 1; for (int i = 1; i <= n; ++i) { for (int components = 1; components <= i; ++components) { if (ways[i][components] == 0) { continue; } if (i == startPosition || i == finishPosition) { Increase(ways[i + 1][components + 1], ways[i][components]); // open a new component on the side Increase(ways[i + 1][components], ways[i][components]); // append to the side } else { // create a new component int validPosition = (components + 1) - (i > startPosition) - (i > finishPosition); Increase(ways[i + 1][components + 1], Multiply(validPosition, ways[i][components])); // merge two component validPosition = components - 1; Increase(ways[i + 1][components - 1], Multiply(validPosition, ways[i][components])); } } } cout << ways[n + 1][1]; return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 332 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 332 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 332 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 332 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |