結果
問題 | No.179 塗り分け |
ユーザー |
![]() |
提出日時 | 2018-12-27 23:55:06 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,215 bytes |
コンパイル時間 | 556 ms |
コンパイル使用メモリ | 62,768 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-01 14:56:30 |
合計ジャッジ時間 | 1,609 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 36 WA * 4 |
ソースコード
#include <iostream> #include <algorithm> #include <cstdio> #include <string> #include <numeric> #include <vector> #define ll long long using namespace std; int M[51][51]; int main(){ int h,w; cin>>h>>w; string s[50]; int check=0; for(int i=0;i<h;++i){ cin>>s[i]; for(int j=0;j<w;++j) if(s[i][j]=='#') check++; } if(check%2||check==0){ cout<<"NO"<<endl; return 0; } int flag=0; for(int ah=-h+1;ah<h;++ah){ for(int aw=-w+1;aw<w;++aw){ if(!ah&&!aw) continue; flag=1; for(int i=0;i<h;++i) for(int j=0;j<w;++j){ if(!flag) break; if(s[i][j]=='#'){ if(i+ah<h&&j+aw<w&&i+ah>=0&&j+aw>=0){ if(s[i+ah][j+aw]=='.') flag=0; }else{ flag=0; } if(i-ah>=0&&j-aw>=0&&i-ah<h&&j-aw<w) if(s[i-ah][j-aw]=='#') flag=1; } } if(flag){ cout<<"YES"<<endl; return 0; } } } cout<<"NO"<<endl; return 0; }