結果
問題 |
No.179 塗り分け
|
ユーザー |
|
提出日時 | 2016-02-17 23:20:02 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,036 bytes |
コンパイル時間 | 1,464 ms |
コンパイル使用メモリ | 164,496 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-03 03:14:39 |
合計ジャッジ時間 | 2,821 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 35 WA * 5 |
ソースコード
#include "bits/stdc++.h" #include<unordered_map> #pragma warning(disable:4996) using namespace std; using ld = long double; template<class T> using Table = vector<vector<T>>; int main() { int H, W; cin >> H >> W; vector<vector<int>>field(H,vector<int>(W)); int num = 0; for (int i = 0; i < H; ++i){ string st; cin >> st; for (int j = 0; j < st.size(); ++j){ if (st[j] == '#'){ field[i][j] = 1; num++; } else field[i][j] = 0; } } string st = "NO"; for (int dx = 0; dx < W; ++dx){ for (int dy = 0; dy < H; ++dy){ if (!dx&&!dy)continue; vector<vector<int>>used(field); int rest = num; bool ok = true; for (int x = 0; x < W - dx; ++x){ for (int y = 0; y < H - dy; ++y){ if (used[y][x]){ if (used[y + dy][x + dx]){ used[y][x] = 0; used[y + dy][x + dx] = 0; rest-=2; } else{ ok = false; break; } } } } if (ok&&!rest){ st = "YES"; break; } } } if (num <= 1)st = "NO"; cout << st << endl; return 0; }