結果
問題 | No.179 塗り分け |
ユーザー |
![]() |
提出日時 | 2020-06-10 14:41:50 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,103 bytes |
コンパイル時間 | 1,563 ms |
コンパイル使用メモリ | 167,716 KB |
実行使用メモリ | 17,088 KB |
最終ジャッジ日時 | 2024-06-23 05:04:13 |
合計ジャッジ時間 | 10,427 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | TLE * 1 -- * 5 |
other | -- * 40 |
ソースコード
#include<bits/stdc++.h> #define PI 3.141592653589 #define ll long long using namespace std; template<typename T_char> T_char ToUpper(T_char cX){return toupper(cX);} int main(){ int h, w; cin >> h >> w; char s[h][w]; bool ns[h][w]; for(int i=0; i<h*w; ++i) cin >> s[i]; for(int i=0; i<h; ++i) for(int j=0; j<w; ++j) ns[i][j] = false; bool flag = false; for(int dy=-h; dy<h; ++dy){ for(int dx=-w; dy<w; ++dx){ if(dy==0 && dx==0) continue; for(int i=0; i<h; ++i) for(int j=0; j<w; ++j) ns[i][j] = false; for(int k=0; k<(h-1)*w+w; ++k){ int y = k/w; int x = k%w; if(s[y][x] =='#' && ns[y][x] ==false){ ns[y][x]=true; } if(y+dy<0 || y+dy>=h || x+dx<0 || x+dx>=w){ flag = false; break; } if(s[y+dy][x+dx]=='#' && ns[y+dy][x+dx]==false){ ns[y+dy][x+dx] = true; flag = true; } else{ flag = false; break; } } } if(flag){ cout << "YES" << endl; return 0; } } cout << "NO" << endl; }