結果
問題 | No.1598 4×4 Grid |
ユーザー | kotatsugame |
提出日時 | 2021-07-09 22:02:24 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 380 ms / 4,000 ms |
コード長 | 441 bytes |
コンパイル時間 | 1,497 ms |
コンパイル使用メモリ | 64,824 KB |
実行使用メモリ | 84,096 KB |
最終ジャッジ日時 | 2024-07-01 16:27:31 |
合計ジャッジ時間 | 2,940 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 12 ms
6,812 KB |
testcase_01 | AC | 95 ms
29,056 KB |
testcase_02 | AC | 99 ms
30,208 KB |
testcase_03 | AC | 217 ms
52,608 KB |
testcase_04 | AC | 280 ms
67,584 KB |
testcase_05 | AC | 359 ms
83,584 KB |
testcase_06 | AC | 380 ms
84,096 KB |
testcase_07 | AC | 10 ms
6,940 KB |
testcase_08 | AC | 98 ms
29,696 KB |
testcase_09 | AC | 300 ms
72,448 KB |
コンパイルメッセージ
main.cpp:5:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type] 5 | main() | ^~~~
ソースコード
#include<iostream> using namespace std; int K; long dp[217][1<<16]; main() { cin>>K; dp[0][0]=1; for(int i=0;i<1<<16;i++) { int t=0; for(int x=0;x<4;x++)for(int y=0;y<4;y++) { if(x<3&&(i>>x*4+y&1)!=(i>>x*4+4+y&1))t++; if(y<3&&(i>>x*4+y&1)!=(i>>x*4+y+1&1))t++; } for(int l=0;l<16;l++)if(!(i>>l&1)) { for(int j=0;j+t<=K;j++)if(dp[j][i]) { dp[j+t][i|1<<l]+=dp[j][i]; } } } cout<<dp[K][(1<<16)-1]<<endl; }