結果
| 問題 |
No.179 塗り分け
|
| コンテスト | |
| ユーザー |
saytakaPC
|
| 提出日時 | 2015-04-06 14:32:05 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 5 ms / 3,000 ms |
| コード長 | 824 bytes |
| コンパイル時間 | 1,241 ms |
| コンパイル使用メモリ | 159,252 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-23 14:28:03 |
| 合計ジャッジ時間 | 2,537 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 40 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<(n);i++)
typedef long long ll;
string fld[50];
bool used[50][50];
int h,w;
bool check(int dy,int dx){
memset(used,false,sizeof(used));
for(int y=0;y<h;y++){
for(int x=0;x<w;x++){
if(fld[y][x]=='.'||used[y][x])continue;
int nx=x+dx,ny=y+dy;
if(nx>=w||ny>=h||nx<0||ny<0)return false;
if(fld[ny][nx]=='.')return false;
used[ny][nx]=true;
}
}
return true;
}
int main(){
cin>>h>>w;
for(int i=0;i<h;i++)cin>>fld[i];
int cnt=0;
for(int i=0;i<h;i++)for(int j=0;j<w;j++)if(fld[i][j]=='#')cnt++;
if(cnt%2==1||cnt==0){
cout<<"NO"<<endl;
return 0;
}
for(int i=0;i<h;i++){
for(int j=-w+1;j<w;j++){
if(i==0&&j==0)continue;
if(check(i,j)){
cout<<"YES"<<endl;
return 0;
}
}
}
cout<<"NO"<<endl;
return 0;
}
saytakaPC