結果
問題 | No.179 塗り分け |
ユーザー |
![]() |
提出日時 | 2018-06-21 00:34:02 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 993 bytes |
コンパイル時間 | 445 ms |
コンパイル使用メモリ | 55,364 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-30 17:31:45 |
合計ジャッジ時間 | 1,667 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 WA * 1 |
other | AC * 22 WA * 18 |
ソースコード
#include<iostream> using namespace std; int h, w; char c[50][50]; char original[50][50]; bool search(int y, int x) { for (int i = 0; i < h; i++) { for (int j = 0; j < w; j++) { if (c[i][j] == '#') { if (i + y >= h || j + x >= w || j + x < 0 || c[i + y][j + x] != '#') { return false; } else { c[i][j] = '.'; c[i + y][j + x] = '.'; } } } } return true; } void reset() { for (int i = 0; i < h; i++) { for (int j = 0; j < w; j++) { c[i][j] = original[i][j]; } } } int main() { int count = 0; cin >> h >> w; for (int i = 0; i<h; i++) { for (int j = 0; j<w; j++) { cin >> original[i][j]; if (original[i][j] == '#')count++; } } if (count % 2 != 0 || count == 0) { cout << "NO" << endl; return 0; } reset(); for (int y = 0; y<h; y++) { for (int x = -w+1; x<w; x++) { if (x == y == 0)continue; if (search(y, x)) { cout << "YES" << endl; return 0; } reset(); } } cout << "NO" << endl; return 0; }