Submission #1082946
Source Code Expand
#include<stdio.h> #include<vector> #include<algorithm> using namespace std; typedef long long ll; ll mod = 1000000007; #define SIZE 100000 ll inv[SIZE + 1]; ll kai[SIZE + 1]; ll invkai[SIZE + 1]; void invinit() { inv[1] = 1; for (int i = 2; i <= SIZE; i++) { inv[i] = mod - (mod / i)*inv[mod%i] % mod; } kai[0] = invkai[0] = 1; for (int i = 1; i <= SIZE; i++) { kai[i] = kai[i - 1] * i%mod; invkai[i] = invkai[i - 1] * inv[i] % mod; } } ll com(ll a, ll b) { if (b < 0 || a < b)return 0; return (invkai[b] * invkai[a - b]) % mod*kai[a] % mod; } ll dp[2100][2100]; int main() { int num, kai; scanf("%d%d", &num, &kai); invinit(); for (int i = 1; i <= num; i++) { ll now = 0; for (int j = 1; j <= i - 1; j++) { dp[i][j] = (dp[i][j] + now) % mod; now += dp[i - 1][j]; now %= mod; } for (int j = 1; j <= i - 1; j++)dp[i][j] = (dp[i][j] + com(num - kai + i - 1, num - kai)) % mod; for (int j = 0; j <= i; j++)dp[i][j] = (dp[i][j] + dp[i - 1][j]) % mod; //for (int j = 0; j <= i; j++)printf("%lld ", dp[i][j]); printf("\n"); } ll s = com(num - 1, kai - 1); for (int i = 0; i <= num; i++)s += dp[kai - 1][i], s %= mod; for (int i = 0; i < num - kai - 1; i++)s = s * 2 % mod; printf("%lld\n", s); }
Submission Info
Submission Time | |
---|---|
Task | F - Solitaire |
User | DEGwer |
Language | C++14 (GCC 5.4.1) |
Score | 1200 |
Code Size | 1290 Byte |
Status | AC |
Exec Time | 189 ms |
Memory | 25472 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:34:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &num, &kai); ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1200 / 1200 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt |
All | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_example_01.txt | AC | 8 ms | 2560 KB |
00_example_02.txt | AC | 8 ms | 2560 KB |
00_example_03.txt | AC | 188 ms | 25472 KB |
01.txt | AC | 9 ms | 2560 KB |
02.txt | AC | 63 ms | 11136 KB |
03.txt | AC | 9 ms | 2688 KB |
04.txt | AC | 11 ms | 3328 KB |
05.txt | AC | 9 ms | 2560 KB |
06.txt | AC | 8 ms | 2560 KB |
07.txt | AC | 8 ms | 2560 KB |
08.txt | AC | 9 ms | 2688 KB |
09.txt | AC | 172 ms | 23808 KB |
10.txt | AC | 8 ms | 2560 KB |
11.txt | AC | 8 ms | 2560 KB |
12.txt | AC | 166 ms | 23168 KB |
13.txt | AC | 10 ms | 3200 KB |
14.txt | AC | 185 ms | 25088 KB |
15.txt | AC | 24 ms | 5760 KB |
16.txt | AC | 189 ms | 25472 KB |
17.txt | AC | 189 ms | 25472 KB |
18.txt | AC | 188 ms | 25472 KB |
19.txt | AC | 189 ms | 25472 KB |
20.txt | AC | 188 ms | 25472 KB |
21.txt | AC | 8 ms | 2560 KB |
22.txt | AC | 187 ms | 25472 KB |
23.txt | AC | 189 ms | 25472 KB |