結果
| 問題 | No.179 塗り分け |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-05-13 15:26:17 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.89.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;
}