# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
152938 | 2019-09-10T15:02:19 Z | Mercenary | 캥거루 (CEOI16_kangaroo) | C++14 | 66 ms | 14204 KB |
#include<bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/trie_policy.hpp> #define pb push_back #define mp make_pair #define taskname "A" using namespace std; using namespace __gnu_pbds; typedef long long ll; typedef long double ld; typedef pair<int,int> ii; typedef tree <int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> ordered_set; const int maxn = 2e3 + 5; const int mod = 1e9 + 7; int n , cs , cf; int dp[maxn][maxn]; void add(int & x , int y){ x += y; if(x >= mod)x -= mod; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); if(fopen(taskname".INP","r")){ freopen(taskname".INP", "r",stdin); freopen(taskname".OUT", "w",stdout); } cin >> n >> cs >> cf; if(cs > cf)swap(cs , cf); dp[1][0] = 1; for(int i = 1 ; i <= n ; ++i){ for(int j = 0 ; j <= i ; ++j){ if(i == cs || i == cf){ add(dp[i + 1][j] , dp[i][j]); if(j > 0)add(dp[i + 1][j - 1] , (ll)dp[i][j] * j % mod); } else{ if(i > cs && j > 0){ add(dp[i + 1][j - 1] , (ll)dp[i][j] * j % mod); } if(i > cf && j > 0){ add(dp[i + 1][j - 1] , (ll)dp[i][j] * j % mod); } add(dp[i + 1][j + 1] , dp[i][j]); if(j > 1)add(dp[i + 1][j - 1] , (ll)j * (j - 1) % mod * dp[i][j] % mod); } } } cout << dp[n][0]; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 504 KB | Output is correct |
4 | Correct | 3 ms | 504 KB | Output is correct |
5 | Correct | 2 ms | 504 KB | Output is correct |
6 | Correct | 2 ms | 504 KB | Output is correct |
7 | Correct | 2 ms | 504 KB | Output is correct |
8 | Correct | 2 ms | 504 KB | Output is correct |
9 | Correct | 2 ms | 504 KB | Output is correct |
10 | Correct | 2 ms | 504 KB | Output is correct |
11 | Correct | 2 ms | 476 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 504 KB | Output is correct |
4 | Correct | 3 ms | 504 KB | Output is correct |
5 | Correct | 2 ms | 504 KB | Output is correct |
6 | Correct | 2 ms | 504 KB | Output is correct |
7 | Correct | 2 ms | 504 KB | Output is correct |
8 | Correct | 2 ms | 504 KB | Output is correct |
9 | Correct | 2 ms | 504 KB | Output is correct |
10 | Correct | 2 ms | 504 KB | Output is correct |
11 | Correct | 2 ms | 476 KB | Output is correct |
12 | Correct | 4 ms | 1272 KB | Output is correct |
13 | Correct | 4 ms | 1144 KB | Output is correct |
14 | Correct | 3 ms | 1272 KB | Output is correct |
15 | Correct | 3 ms | 1272 KB | Output is correct |
16 | Correct | 3 ms | 1272 KB | Output is correct |
17 | Correct | 4 ms | 1272 KB | Output is correct |
18 | Correct | 3 ms | 1144 KB | Output is correct |
19 | Correct | 4 ms | 1144 KB | Output is correct |
20 | Correct | 4 ms | 1144 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 504 KB | Output is correct |
4 | Correct | 3 ms | 504 KB | Output is correct |
5 | Correct | 2 ms | 504 KB | Output is correct |
6 | Correct | 2 ms | 504 KB | Output is correct |
7 | Correct | 2 ms | 504 KB | Output is correct |
8 | Correct | 2 ms | 504 KB | Output is correct |
9 | Correct | 2 ms | 504 KB | Output is correct |
10 | Correct | 2 ms | 504 KB | Output is correct |
11 | Correct | 2 ms | 476 KB | Output is correct |
12 | Correct | 4 ms | 1272 KB | Output is correct |
13 | Correct | 4 ms | 1144 KB | Output is correct |
14 | Correct | 3 ms | 1272 KB | Output is correct |
15 | Correct | 3 ms | 1272 KB | Output is correct |
16 | Correct | 3 ms | 1272 KB | Output is correct |
17 | Correct | 4 ms | 1272 KB | Output is correct |
18 | Correct | 3 ms | 1144 KB | Output is correct |
19 | Correct | 4 ms | 1144 KB | Output is correct |
20 | Correct | 4 ms | 1144 KB | Output is correct |
21 | Correct | 11 ms | 3832 KB | Output is correct |
22 | Correct | 13 ms | 4088 KB | Output is correct |
23 | Correct | 15 ms | 4476 KB | Output is correct |
24 | Correct | 58 ms | 14200 KB | Output is correct |
25 | Correct | 63 ms | 14076 KB | Output is correct |
26 | Correct | 61 ms | 14204 KB | Output is correct |
27 | Correct | 66 ms | 14072 KB | Output is correct |
28 | Correct | 39 ms | 10236 KB | Output is correct |