Submission #1774187
Source Code Expand
#include <bits/stdc++.h>
#define For(i, j, k) for(int i = j; i <= k; i++)
using namespace std;
const int N = 21;
const int Mod = 1e9 + 7;
int n, m, q;
int dp[2][N][1 << 19];
bool ban[N][N][2];
void add(int &x, int y){
x += y;
if(x >= Mod) x -= Mod;
}
int main(){
scanf("%d%d%d", &n, &m, &q);
while(q--){
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
ban[a][b][c ^ 1] = true;
}
int s = 0, P = (1 << (n - 1)) - 1;
dp[0][0][0] = 1;
For(i, 1, m){
For(j, 0, n - 2){
int msk = (1 << j) - 1;
For(k, 0, P){
int &val = dp[s][j][k];
if(!val) continue;
if(!(k & (1 << j)) && !ban[i][j + 1][0])
add(dp[s][j + 1][k], val);
if(!ban[i][j + 1][1]){
if(k & (1 << j))
add(dp[s][j + 1][k], val);
else{
int a = k & (P ^ msk), b = (k & msk) | (1 << j);
a -= a & (-a);
add(dp[s][j + 1][a | b], val);
}
}
val = 0;
}
if(j == n - 2) For(k, 0, P) dp[s ^ 1][0][k] = dp[s][n - 1][k], dp[s][n - 1][k] = 0;
}
s ^= 1;
}
int ans = 0;
For(i, 0, P) add(ans, dp[s][0][i]);
printf("%d\n", ans);
return 0;
}
Submission Info
Submission Time |
|
Task |
F - Zigzag |
User |
dy0607 |
Language |
C++14 (GCC 5.4.1) |
Score |
1600 |
Code Size |
1142 Byte |
Status |
AC |
Exec Time |
1255 ms |
Memory |
86272 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:20:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d", &n, &m, &q);
^
./Main.cpp:23:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d", &a, &b, &c);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
1600 / 1600 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample1.txt, sample2.txt, sample3.txt, sample4.txt |
All |
sample1.txt, sample2.txt, sample3.txt, sample4.txt, a1.txt, a10.txt, a11.txt, a12.txt, a13.txt, a2.txt, a3.txt, a4.txt, a5.txt, a6.txt, a7.txt, a8.txt, a9.txt, b1.txt, b10.txt, b11.txt, b12.txt, b13.txt, b14.txt, b15.txt, b16.txt, b17.txt, b2.txt, b3.txt, b4.txt, b5.txt, b6.txt, b7.txt, b8.txt, b9.txt, n18.txt, n19.txt, n20.txt, sample1.txt, sample2.txt, sample3.txt, sample4.txt |
Case Name |
Status |
Exec Time |
Memory |
a1.txt |
AC |
5 ms |
18688 KB |
a10.txt |
AC |
543 ms |
86272 KB |
a11.txt |
AC |
341 ms |
86272 KB |
a12.txt |
AC |
300 ms |
86272 KB |
a13.txt |
AC |
297 ms |
86272 KB |
a2.txt |
AC |
5 ms |
18688 KB |
a3.txt |
AC |
4 ms |
18688 KB |
a4.txt |
AC |
8 ms |
39168 KB |
a5.txt |
AC |
28 ms |
59648 KB |
a6.txt |
AC |
1222 ms |
86272 KB |
a7.txt |
AC |
971 ms |
86272 KB |
a8.txt |
AC |
995 ms |
86272 KB |
a9.txt |
AC |
764 ms |
86272 KB |
b1.txt |
AC |
9 ms |
39168 KB |
b10.txt |
AC |
705 ms |
86272 KB |
b11.txt |
AC |
374 ms |
86272 KB |
b12.txt |
AC |
233 ms |
86272 KB |
b13.txt |
AC |
190 ms |
86272 KB |
b14.txt |
AC |
169 ms |
86272 KB |
b15.txt |
AC |
167 ms |
86272 KB |
b16.txt |
AC |
167 ms |
86272 KB |
b17.txt |
AC |
168 ms |
86272 KB |
b2.txt |
AC |
414 ms |
86272 KB |
b3.txt |
AC |
5 ms |
18688 KB |
b4.txt |
AC |
23 ms |
72448 KB |
b5.txt |
AC |
2 ms |
6400 KB |
b6.txt |
AC |
44 ms |
86272 KB |
b7.txt |
AC |
1225 ms |
86272 KB |
b8.txt |
AC |
1101 ms |
86272 KB |
b9.txt |
AC |
921 ms |
86272 KB |
n18.txt |
AC |
261 ms |
72448 KB |
n19.txt |
AC |
570 ms |
77056 KB |
n20.txt |
AC |
1255 ms |
86272 KB |
sample1.txt |
AC |
3 ms |
10496 KB |
sample2.txt |
AC |
2 ms |
8448 KB |
sample3.txt |
AC |
4 ms |
18688 KB |
sample4.txt |
AC |
1255 ms |
86272 KB |