Submission #1072607
Source Code Expand
#include<bits/stdc++.h> using namespace std; int dp[1<<25]; int used[25],p[25]; int main(){ int MOD=1000000007; int st[5][5]; for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ cin>>st[i][j]; st[i][j]--; if(st[i][j]<0) continue; used[st[i][j]]=1; p[st[i][j]]=i*5+j; } } memset(dp,0,sizeof(dp)); dp[0]=1; for(int i=0;i<25;i++){ int b=(1<<i)-1; while(b<(1<<25)){ if(dp[b]){ for(int j=0;j<25;j++){ if((b>>j)&1) continue; if(used[i]&&p[i]!=j) continue; bool f=1; int y=j/5,x=j%5; if(0<y&&y<4) f&=!(((b>>((y-1)*5+x))&1)^((b>>((y+1)*5+x))&1)); if(0<x&&x<4) f&=!(((b>>(y*5+x-1))&1)^((b>>(y*5+x+1))&1)); if(f) (dp[b+(1<<j)]+=dp[b])%=MOD; } } if(!b) break; int x=b&-b; int y=b+x; b=(((b&~y)/x)>>1)|y; } } cout<<dp[(1<<25)-1]<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 25個の整数 |
User | beet |
Language | C++11 (GCC 4.9.2) |
Score | 100 |
Code Size | 908 Byte |
Status | AC |
Exec Time | 832 ms |
Memory | 131880 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 30 / 30 | 70 / 70 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt |
Subtask1 | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, test-1-01.txt, test-1-02.txt, test-1-03.txt, test-1-04.txt, test-1-05.txt, test-1-06.txt, test-1-07.txt, test-1-08.txt, test-1-09.txt, test-1-10.txt, test-1-11.txt, test-1-12.txt, test-1-13.txt, test-1-14.txt, test-1-15.txt |
Subtask2 | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, test-1-01.txt, test-1-02.txt, test-1-03.txt, test-1-04.txt, test-1-05.txt, test-1-06.txt, test-1-07.txt, test-1-08.txt, test-1-09.txt, test-1-10.txt, test-1-11.txt, test-1-12.txt, test-1-13.txt, test-1-14.txt, test-1-15.txt, test-2-01.txt, test-2-02.txt, test-2-03.txt, test-2-04.txt, test-2-05.txt, test-2-06.txt, test-2-07.txt, test-2-08.txt, test-2-09.txt, test-2-10.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample-01.txt | AC | 518 ms | 131880 KB |
sample-02.txt | AC | 646 ms | 131872 KB |
sample-03.txt | AC | 519 ms | 131740 KB |
sample-04.txt | AC | 518 ms | 131864 KB |
test-1-01.txt | AC | 518 ms | 131828 KB |
test-1-02.txt | AC | 517 ms | 131876 KB |
test-1-03.txt | AC | 516 ms | 131828 KB |
test-1-04.txt | AC | 517 ms | 131824 KB |
test-1-05.txt | AC | 518 ms | 131828 KB |
test-1-06.txt | AC | 518 ms | 131876 KB |
test-1-07.txt | AC | 519 ms | 131876 KB |
test-1-08.txt | AC | 517 ms | 131828 KB |
test-1-09.txt | AC | 518 ms | 131804 KB |
test-1-10.txt | AC | 518 ms | 131876 KB |
test-1-11.txt | AC | 519 ms | 131876 KB |
test-1-12.txt | AC | 517 ms | 131752 KB |
test-1-13.txt | AC | 520 ms | 131868 KB |
test-1-14.txt | AC | 521 ms | 131868 KB |
test-1-15.txt | AC | 519 ms | 131872 KB |
test-2-01.txt | AC | 530 ms | 131872 KB |
test-2-02.txt | AC | 561 ms | 131868 KB |
test-2-03.txt | AC | 520 ms | 131752 KB |
test-2-04.txt | AC | 528 ms | 131744 KB |
test-2-05.txt | AC | 625 ms | 131864 KB |
test-2-06.txt | AC | 832 ms | 131872 KB |
test-2-07.txt | AC | 602 ms | 131872 KB |
test-2-08.txt | AC | 704 ms | 131740 KB |
test-2-09.txt | AC | 787 ms | 131748 KB |
test-2-10.txt | AC | 811 ms | 131824 KB |