Submission #2168152
Source Code Expand
#include<iostream> #include<vector> using namespace std; int M=1e9+7,dp[1<<25],x[26],a; vector<int>G; main() { for(int i=0;i<25;i++) { cin>>a; if(a==0)G.push_back(i); else x[a]=i+1; } dp[0]=1; for(int i=0;i<1<<25;i++) { if(!dp[i])continue; int b=__builtin_popcount(i)+1; if(x[b]) { int r=x[b]-1; int X=r/5,Y=r%5; if(!((i>>r)&1)) { if(X>0&&X<4&&((i>>(r-5))^(i>>(r+5)))&1)continue; if(Y>0&&Y<4&&((i>>(r-1))^(i>>(r+1)))&1)continue; dp[i|(1<<r)]+=dp[i]; if(dp[i|(1<<r)]>=M)dp[i|(1<<r)]-=M; } } else { for(int j=0;j<G.size();j++) { int r=G[j],X=G[j]/5,Y=G[j]%5; if(!((i>>r)&1)) { if(X>0&&X<4&&((i>>(r-5))^(i>>(r+5)))&1)continue; if(Y>0&&Y<4&&((i>>(r-1))^(i>>(r+1)))&1)continue; dp[i|(1<<r)]+=dp[i]; if(dp[i|(1<<r)]>=M)dp[i|(1<<r)]-=M; } } } } cout<<dp[(1<<25)-1]<<endl; }
Submission Info
Submission Time | |
---|---|
Task | D - 25個の整数 |
User | kotatsugame |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 918 Byte |
Status | AC |
Exec Time | 101 ms |
Memory | 113280 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 | 36 ms | 12544 KB |
sample-02.txt | AC | 38 ms | 20736 KB |
sample-03.txt | AC | 34 ms | 256 KB |
sample-04.txt | AC | 36 ms | 12544 KB |
test-1-01.txt | AC | 36 ms | 12544 KB |
test-1-02.txt | AC | 37 ms | 14592 KB |
test-1-03.txt | AC | 37 ms | 16640 KB |
test-1-04.txt | AC | 47 ms | 69888 KB |
test-1-05.txt | AC | 37 ms | 16640 KB |
test-1-06.txt | AC | 37 ms | 16640 KB |
test-1-07.txt | AC | 34 ms | 2304 KB |
test-1-08.txt | AC | 42 ms | 39168 KB |
test-1-09.txt | AC | 36 ms | 12544 KB |
test-1-10.txt | AC | 36 ms | 12544 KB |
test-1-11.txt | AC | 37 ms | 12544 KB |
test-1-12.txt | AC | 38 ms | 18688 KB |
test-1-13.txt | AC | 36 ms | 12544 KB |
test-1-14.txt | AC | 38 ms | 18688 KB |
test-1-15.txt | AC | 39 ms | 24832 KB |
test-2-01.txt | AC | 41 ms | 33024 KB |
test-2-02.txt | AC | 39 ms | 24960 KB |
test-2-03.txt | AC | 40 ms | 30976 KB |
test-2-04.txt | AC | 57 ms | 113152 KB |
test-2-05.txt | AC | 51 ms | 70272 KB |
test-2-06.txt | AC | 82 ms | 68224 KB |
test-2-07.txt | AC | 74 ms | 92416 KB |
test-2-08.txt | AC | 89 ms | 113280 KB |
test-2-09.txt | AC | 76 ms | 74624 KB |
test-2-10.txt | AC | 101 ms | 78336 KB |