結果
| 問題 | No.179 塗り分け |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-06-15 16:31:48 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.89.0) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,275 bytes |
| 記録 | |
| コンパイル時間 | 1,427 ms |
| コンパイル使用メモリ | 158,468 KB |
| 最終ジャッジ日時 | 2024-11-14 19:45:22 |
| 合計ジャッジ時間 | 2,158 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:22:9: error: 'gets' was not declared in this scope; did you mean 'getw'?
22 | gets(strs);
| ^~~~
| getw
ソースコード
#include<bits/stdc++.h>
using namespace std;
int data[200][200]; // 落ち対策
int ord[3000][2];
int memo[30001];
int main(){
int i, j, k, l;
int h,w,n;
int x,y;
char strs[60];
cin >> h>>w;
n=0;
getchar();
for (y=0;y<h;y++){
gets(strs);
for (int x=0;x<w;x++){
if (strs[x]=='#'){
n+=1;
data[x][y]=n;
ord[n][0]=x;
ord[n][1]=y;
}
}
}
int m=0;
if (n%2==1 || n==0){
goto l_no;
}
int vx,vy;
for (vx=-w+1,vy=-h+1;vy<h;vx++){
if (vy==0 && vx==0) continue;
for (i=1;i<=n;i++){
x=ord[i][0];
y=ord[i][1];
if (memo[i]<=m){
if (x+vx<0 || y+vy<0) goto l_cont;
j= data[x+vx][y+vy];
if (j==0 || memo[j]>m){
// HALT
goto l_cont;
}
memo[j]=2+m;
memo[i]=1+m;
}
}
cout << "YES" << endl;
return 0;
l_cont:
if (vx>=w-1){
vy++;
vx=-w;
}
m+=3;
}
l_no:
cout << "NO" << endl;
return 0;
}