結果
問題 | No.179 塗り分け |
ユーザー |
|
提出日時 | 2016-05-13 15:26:17 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,159 bytes |
コンパイル時間 | 1,463 ms |
コンパイル使用メモリ | 168,008 KB |
実行使用メモリ | 818,048 KB |
最終ジャッジ日時 | 2024-10-03 03:26:04 |
合計ジャッジ時間 | 3,733 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 RE * 5 |
other | MLE * 1 -- * 39 |
コンパイルメッセージ
main.cpp: In function 'int main()': main.cpp:24:10: warning: 'n' may be used uninitialized [-Wmaybe-uninitialized] 24 | if (n%2==1){ | ~^~ main.cpp:10:13: note: 'n' was declared here 10 | int h,w,n; | ^
ソースコード
// スパゲティー #include<bits/stdc++.h> using namespace std; int data[200][200]; // 落ち対策 int main(){ int i, j, k, l; int h,w,n; int x,y; cin >> h>>w; for (i=0;i<h;i++) for (int j=0;j<w;j++){ char c;while ((cin >> c),c<32); if (c=='#'){ n+=1; data[j][i]=n; } } if (n%2==1){ goto l_no; } int vx,vy; for (vx=0,vy=1;vy<w||vy<h;vx++,vy--){ vector<int> memo(n+1,0); for (y=0;y<h;y++){ for (x=0;x<w;x++){ i=data[x][y]; if (i==0) continue; if (memo[i]==0){ j= data[x+vx][y+vy]; if (j==0 || memo[j]!=0){ // HALT goto l_cont; } memo[j]=2; memo[i]=1; } } } cout << "YES" << endl; return 0; l_cont: if (vy==0){ vy=vx+2; vx=-1; } } l_no: cout << "NO" << endl; return 0; }