結果
問題 |
No.179 塗り分け
|
ユーザー |
![]() |
提出日時 | 2019-10-20 01:40:35 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
RE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,335 bytes |
コンパイル時間 | 1,514 ms |
コンパイル使用メモリ | 168,112 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-27 06:02:11 |
合計ジャッジ時間 | 4,512 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 39 RE * 1 |
ソースコード
#include<bits/stdc++.h> using namespace std; int main(){ int H,W; cin >> H >> W; char s[H][W]; for(int i=0;i<H;i++){ string x; cin >> x; for(int j=0;j<W;j++){ s[i][j]=x[j]; } } for(int i=-H;i<H;i++){ for(int j=-W;j<W;j++){ if(i==0&&j==0) continue; bool flag=true; bool check[H][W]={}; int cnt=0; for(int k=0;k<H;k++){ for(int l=0;l<W;l++){ if(s[k][l]=='.') continue; cnt++; if(check[k][l]) continue; if(k+i>=H||k+i<0||l+j<0||l+j>=W){ flag=false; } if(check[k][l]==false&&s[k][l]=='#'){ check[k][l]=true; if(s[k+i][l+j]=='#'&&check[k+i][l+j]==false){ check[k+i][l+j]=true; continue; } } flag=false; } } if(cnt==0) flag=false; if(flag){ //cout << i << j << endl; cout << "YES" << endl; return 0; } } } cout << "NO" << endl; return 0; }