Submission #2698684
Source Code Expand
#include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #include<cstdlib> #include<cassert> #include<ctime> #define cmin(a,b) (a>(b)?a=(b),1:0) #define cmax(a,b) (a<(b)?a=(b),1:0) #define dmin(a,b) ((a)<(b)?(a):(b)) #define dmax(a,b) ((a)>(b)?(a):(b)) namespace io { int F() { int n=0,F=1; char ch; while((ch=getchar())!='-'&&(ch<'0'||ch>'9')); ch=='-'?F=0:n=ch-'0'; while((ch=getchar())>='0'&&ch<='9')n=n*10+ch-'0'; return F?n:-n; } } const int M=1000000007; int c[22][22]; int f[2][533333]; int fir[20][533333]; int main() { //freopen("zigzag.in","r",stdin); //freopen("zigzag.out","w",stdout); int n=io::F(),m=io::F(),k=io::F(); if(n==1)puts("1"),exit(0); memset(c,-1,sizeof(c)); for(register int i=1;i<=k;++i) { int a=io::F(),b=io::F(),v=io::F(); if(c[a][b]==-1)c[a][b]=v; else if(c[a][b]!=v)puts("0"),exit(0); } for(register int i=1;i<1<<n-1;++i) { fir[n-1][i]=i&1<<n-2; for(register int j=n-2;j>=0;--j) fir[j][i]=i&1<<j?1<<j:fir[j+1][i]; } int *x=f[0],*y=f[1]; f[0][0]=1; for(register int i=1;i<=m;++i) { for(register int j=1;j<n;++j,std::swap(x,y),memset(y,0,sizeof(f[0]))) { for(register int k=0;k<1<<n-1;++k) if(x[k]) { if(c[i][j]!=1&&(k>>j-1&1)==0) (y[k]+=x[k])%=M; if(c[i][j]!=0) (y[k^fir[j-1][k]^1<<j-1]+=x[k])%=M; } } //for(register int j=0;j<1<<n-1;++j)(y[0]+=x[j])%=M; //std::swap(x,y),memset(y,0,sizeof(f[0])); } int ans=0; for(register int i=0;i<1<<n-1;++i)(ans+=x[i])%=M; printf("%d\n",ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Zigzag |
User | ESpace |
Language | C++14 (GCC 5.4.1) |
Score | 1600 |
Code Size | 1602 Byte |
Status | AC |
Exec Time | 972 ms |
Memory | 45952 KB |
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 | 13184 KB |
a10.txt | AC | 478 ms | 45952 KB |
a11.txt | AC | 337 ms | 45952 KB |
a12.txt | AC | 310 ms | 45952 KB |
a13.txt | AC | 306 ms | 45952 KB |
a2.txt | AC | 5 ms | 13184 KB |
a3.txt | AC | 5 ms | 13184 KB |
a4.txt | AC | 14 ms | 23424 KB |
a5.txt | AC | 41 ms | 33792 KB |
a6.txt | AC | 950 ms | 45952 KB |
a7.txt | AC | 758 ms | 45952 KB |
a8.txt | AC | 787 ms | 45952 KB |
a9.txt | AC | 636 ms | 45952 KB |
b1.txt | AC | 24 ms | 23424 KB |
b10.txt | AC | 597 ms | 45952 KB |
b11.txt | AC | 364 ms | 45952 KB |
b12.txt | AC | 257 ms | 45952 KB |
b13.txt | AC | 228 ms | 45952 KB |
b14.txt | AC | 208 ms | 45952 KB |
b15.txt | AC | 207 ms | 45952 KB |
b16.txt | AC | 206 ms | 45952 KB |
b17.txt | AC | 206 ms | 45952 KB |
b2.txt | AC | 363 ms | 45952 KB |
b3.txt | AC | 11 ms | 13184 KB |
b4.txt | AC | 29 ms | 40320 KB |
b5.txt | AC | 4 ms | 7040 KB |
b6.txt | AC | 70 ms | 45952 KB |
b7.txt | AC | 950 ms | 45952 KB |
b8.txt | AC | 880 ms | 45952 KB |
b9.txt | AC | 714 ms | 45952 KB |
n18.txt | AC | 222 ms | 40320 KB |
n19.txt | AC | 443 ms | 42880 KB |
n20.txt | AC | 972 ms | 45952 KB |
sample1.txt | AC | 3 ms | 9088 KB |
sample2.txt | AC | 3 ms | 9088 KB |
sample3.txt | AC | 5 ms | 13184 KB |
sample4.txt | AC | 971 ms | 45952 KB |