# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
966392 | 2024-04-19T19:14:25 Z | vjudge1 | Kangaroo (CEOI16_kangaroo) | C++17 | 60 ms | 70940 KB |
// In the name of Almighty Allah. // We're nothing and you're everything. // Allahu Akbar #include <bits/stdc++.h> using namespace std; #define PI acos(-1.0) #define FAST_IO ios_base::sync_with_stdio(0);cin.tie(0); typedef long long ll; typedef pair<int,int> pii; typedef tuple<int,int,int> tii; const int N = 2e3+5; const ll mod = 1e9+7; ll dp[N][N][2][2]; void solve(int tc){ ll i,j,k,n,m,x,y,s,f,l; cin >> n >> s >> f; dp[0][0][0][0] = 1; for(i=0;i<n;i++){ for(j=0;j<=i;j++){ for(k=0;k<2;k++){ for(l=0;l<2;l++){ if(i+1 == s){ if(k == 0){ dp[i+1][j+1][1][l] += dp[i][j][k][l]; dp[i+1][j+1][1][l] %= mod; if(j>0){ dp[i+1][j][1][l] += dp[i][j][k][l]; dp[i+1][j][1][l] %= mod; } } } else if(i+1 == f){ if(l == 0){ dp[i+1][j+1][k][1] += dp[i][j][k][l]; dp[i+1][j+1][k][1] %= mod; if(j>0){ dp[i+1][j][k][1] += dp[i][j][k][l]; dp[i+1][j][k][1] %= mod; } } } else{ x = j+1-k-l; dp[i+1][j+1][k][l] += x*dp[i][j][k][l]; dp[i+1][j+1][k][l] %= mod; if(j>1){ dp[i+1][j-1][k][l] += (j-1)*dp[i][j][k][l]; dp[i+1][j-1][k][l] %= mod; } } } } } } // for(i=0;i<=n;i++){ // for(j=0;j<=n;j++){ // cout << "i: " << i << " j: " << j << "\n"; // for(k=0;k<2;k++){ // for(l=0;l<2;l++) cout << dp[i][j][k][l] << " "; // cout << "\n"; // } // cout << "\n"; // } // cout << "\n"; // } cout << dp[n][1][1][1] << "\n"; } int main(){ FAST_IO int t = 1; //cin >> t; for(int tc = 1;tc<=t;tc++){ solve(tc); } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Correct | 1 ms | 464 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Correct | 1 ms | 464 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 600 KB | Output is correct |
5 | Correct | 1 ms | 604 KB | Output is correct |
6 | Correct | 0 ms | 600 KB | Output is correct |
7 | Correct | 0 ms | 604 KB | Output is correct |
8 | Correct | 1 ms | 604 KB | Output is correct |
9 | Correct | 0 ms | 604 KB | Output is correct |
10 | Correct | 0 ms | 604 KB | Output is correct |
11 | Correct | 0 ms | 604 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Correct | 1 ms | 464 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 600 KB | Output is correct |
5 | Correct | 1 ms | 604 KB | Output is correct |
6 | Correct | 0 ms | 600 KB | Output is correct |
7 | Correct | 0 ms | 604 KB | Output is correct |
8 | Correct | 1 ms | 604 KB | Output is correct |
9 | Correct | 0 ms | 604 KB | Output is correct |
10 | Correct | 0 ms | 604 KB | Output is correct |
11 | Correct | 0 ms | 604 KB | Output is correct |
12 | Correct | 1 ms | 1880 KB | Output is correct |
13 | Correct | 1 ms | 1624 KB | Output is correct |
14 | Correct | 1 ms | 1884 KB | Output is correct |
15 | Correct | 1 ms | 1884 KB | Output is correct |
16 | Correct | 1 ms | 1880 KB | Output is correct |
17 | Correct | 2 ms | 1884 KB | Output is correct |
18 | Correct | 1 ms | 1628 KB | Output is correct |
19 | Correct | 1 ms | 1884 KB | Output is correct |
20 | Correct | 1 ms | 1884 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Correct | 1 ms | 464 KB | Output is correct |
3 | Correct | 1 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 600 KB | Output is correct |
5 | Correct | 1 ms | 604 KB | Output is correct |
6 | Correct | 0 ms | 600 KB | Output is correct |
7 | Correct | 0 ms | 604 KB | Output is correct |
8 | Correct | 1 ms | 604 KB | Output is correct |
9 | Correct | 0 ms | 604 KB | Output is correct |
10 | Correct | 0 ms | 604 KB | Output is correct |
11 | Correct | 0 ms | 604 KB | Output is correct |
12 | Correct | 1 ms | 1880 KB | Output is correct |
13 | Correct | 1 ms | 1624 KB | Output is correct |
14 | Correct | 1 ms | 1884 KB | Output is correct |
15 | Correct | 1 ms | 1884 KB | Output is correct |
16 | Correct | 1 ms | 1880 KB | Output is correct |
17 | Correct | 2 ms | 1884 KB | Output is correct |
18 | Correct | 1 ms | 1628 KB | Output is correct |
19 | Correct | 1 ms | 1884 KB | Output is correct |
20 | Correct | 1 ms | 1884 KB | Output is correct |
21 | Correct | 7 ms | 9820 KB | Output is correct |
22 | Correct | 12 ms | 10844 KB | Output is correct |
23 | Correct | 10 ms | 12268 KB | Output is correct |
24 | Correct | 60 ms | 70740 KB | Output is correct |
25 | Correct | 58 ms | 70940 KB | Output is correct |
26 | Correct | 59 ms | 70736 KB | Output is correct |
27 | Correct | 60 ms | 70188 KB | Output is correct |
28 | Correct | 34 ms | 41556 KB | Output is correct |