Submission #1679854
Source Code Expand
#define FOR(i,j,n) for (int i=(j);i<(n);i++) #define REP(i,n) for (int i=0;i<(n);i++) #define I(n) scanf("%d", &(n)) #include <bits/stdc++.h> using namespace std; int table[26],dp[1<<25],tmp,x,y,bits; int main(){ REP(i,25){ I(tmp); table[tmp] = i;} dp[0] = 1; REP(i,1<<25){ if (!dp[i]) continue; bits = 1; tmp = i; while(tmp) { tmp &= tmp-1; bits++;} REP(distr,25){ if (table[bits] != 0 && table[bits] != distr) continue; if ((1<<distr) & i) continue; x = distr % 5; y = distr / 5; if ((x == 0 || x == 4 || !((((1<<(distr-1)) & i)!=0) ^ (((1<<(distr+1)) & i)!=0))) && (y == 0 || y == 4 || !((((1<<(distr-5)) & i)!=0) ^ (((1<<(distr+5)) & i)!=0)))){ dp[i | (1<<distr)] += dp[i]; dp[i | (1<<distr)] %= 1000000007; } } } printf("%d\n",dp[(1<<25)-1]);
Submission Info
Submission Time | |
---|---|
Task | D - 25個の整数 |
User | omi |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 965 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:29:33: error: expected ‘}’ at end of input printf("%d\n",dp[(1<<25)-1]); ^ ./Main.cpp:9:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] REP(i,25){ I(tmp); table[tmp] = i;} ^