Submission #2415996
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i,a) for(int i=0;i<(a);i++) const ll MOD=1000000007; int basyo[26],dp[1<<25]; vector<int> V; void solve(int mask,int r){ int y=r/5,x=r%5; if((mask&(1<<r))==0){ // 置けるとき // 上と下のxor if(y>0 && y<4 && ((mask>>(r-5))^(mask>>(r+5)))&1) return; // 右と左のxor if(x>0 && x<4 && ((mask>>(r-1))^(mask>>(r+1)))&1) return; (dp[mask^(1<<r)]+=dp[mask])%=MOD; } } int main(){ fill(basyo,basyo+26,-1); rep(i,25){ int a;cin>>a; if(a==0) V.push_back(i); else basyo[a]=i; } dp[0]=1; rep(mask,(1<<25)-1) if(dp[mask]){ int b=__builtin_popcount(mask)+1; if(basyo[b]>=0){ // 場所が固定 solve(mask,basyo[b]); }else{ rep(j,V.size()) solve(mask,V[j]); } } cout<<dp[(1<<25)-1]<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 25個の整数 |
User | misosoup |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 969 Byte |
Status | AC |
Exec Time | 117 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 | 37 ms | 12544 KB |
sample-02.txt | AC | 38 ms | 20736 KB |
sample-03.txt | AC | 34 ms | 256 KB |
sample-04.txt | AC | 37 ms | 12544 KB |
test-1-01.txt | AC | 37 ms | 12544 KB |
test-1-02.txt | AC | 37 ms | 14592 KB |
test-1-03.txt | AC | 38 ms | 16640 KB |
test-1-04.txt | AC | 48 ms | 69888 KB |
test-1-05.txt | AC | 38 ms | 16640 KB |
test-1-06.txt | AC | 38 ms | 16640 KB |
test-1-07.txt | AC | 35 ms | 2304 KB |
test-1-08.txt | AC | 42 ms | 39168 KB |
test-1-09.txt | AC | 37 ms | 12544 KB |
test-1-10.txt | AC | 37 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 | 37 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 | 40 ms | 24960 KB |
test-2-03.txt | AC | 40 ms | 30976 KB |
test-2-04.txt | AC | 58 ms | 113152 KB |
test-2-05.txt | AC | 52 ms | 70272 KB |
test-2-06.txt | AC | 92 ms | 68224 KB |
test-2-07.txt | AC | 81 ms | 92416 KB |
test-2-08.txt | AC | 99 ms | 113280 KB |
test-2-09.txt | AC | 84 ms | 74624 KB |
test-2-10.txt | AC | 117 ms | 78336 KB |