Submission #2145692
Source Code Expand
#include <cstdio> #include <cstring> #include <algorithm> #define P 1000000007 #define ct(x) __builtin_popcount(x) #define Log(x) (Sym[(x) % 37]) using namespace std; int n, m, B[15], R[15], Sym[55]; long long F[1 << 15], ans = 1; int main() { for(int i = 0; i < 30; i++) Sym[(1 << i) % 37] = i; scanf("%d%d", &n, &m); for(int i = 1; i <= m; i++) ans = ans * 2 % P; while(m--) { int x, y; scanf("%d%d", &x, &y); B[--x] |= (1 << --y); R[y] |= (1 << x); } F[0] = 1; for(int i = 1; i < (1 << n); i++) if(!!(i & 1) ^ !(i & 2)) for(int j = i; j; j = (j - 1) & i) if(!!(j & 1) ^ !(j & 2)) { long long s = (1 << n) - i - 1, tmp = 1; for(int k = 0; k < n; k++) if((s >> k) & 1) tmp = tmp * ((1 << ct(B[k] & j)) - 1) % P * (1 << ct(R[k] & j)) % P; F[i] = (F[i - j] * tmp + F[i]) % P; } printf("%lld\n", ((ans - F[(1 << n) - 1]) % P + P) % P); return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Games on DAG |
User | lastans7 |
Language | C++14 (GCC 5.4.1) |
Score | 1600 |
Code Size | 1018 Byte |
Status | AC |
Exec Time | 313 ms |
Memory | 384 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:16:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &n, &m); ^ ./Main.cpp:20:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &x, &y); ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1600 / 1600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt |
All | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_00.txt | AC | 1 ms | 128 KB |
0_01.txt | AC | 1 ms | 128 KB |
0_02.txt | AC | 1 ms | 128 KB |
0_03.txt | AC | 1 ms | 128 KB |
1_00.txt | AC | 1 ms | 128 KB |
1_01.txt | AC | 308 ms | 384 KB |
1_02.txt | AC | 308 ms | 384 KB |
1_03.txt | AC | 308 ms | 384 KB |
1_04.txt | AC | 308 ms | 384 KB |
1_05.txt | AC | 308 ms | 384 KB |
1_06.txt | AC | 308 ms | 384 KB |
1_07.txt | AC | 309 ms | 384 KB |
1_08.txt | AC | 308 ms | 384 KB |
1_09.txt | AC | 308 ms | 384 KB |
1_10.txt | AC | 308 ms | 384 KB |
1_11.txt | AC | 308 ms | 384 KB |
1_12.txt | AC | 313 ms | 384 KB |
1_13.txt | AC | 308 ms | 384 KB |
1_14.txt | AC | 310 ms | 384 KB |
1_15.txt | AC | 310 ms | 384 KB |
1_16.txt | AC | 308 ms | 384 KB |
1_17.txt | AC | 308 ms | 384 KB |
1_18.txt | AC | 308 ms | 384 KB |
1_19.txt | AC | 308 ms | 384 KB |
1_20.txt | AC | 308 ms | 384 KB |
1_21.txt | AC | 1 ms | 128 KB |
1_22.txt | AC | 308 ms | 384 KB |
1_23.txt | AC | 308 ms | 384 KB |
1_24.txt | AC | 97 ms | 256 KB |
1_25.txt | AC | 1 ms | 128 KB |
1_26.txt | AC | 309 ms | 384 KB |
1_27.txt | AC | 10 ms | 256 KB |
1_28.txt | AC | 308 ms | 384 KB |
1_29.txt | AC | 31 ms | 256 KB |
1_30.txt | AC | 10 ms | 256 KB |
1_31.txt | AC | 308 ms | 384 KB |
1_32.txt | AC | 31 ms | 256 KB |
1_33.txt | AC | 10 ms | 256 KB |
1_34.txt | AC | 97 ms | 256 KB |
1_35.txt | AC | 31 ms | 256 KB |