結果
問題 |
No.179 塗り分け
|
ユーザー |
![]() |
提出日時 | 2015-05-21 22:09:37 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,493 bytes |
コンパイル時間 | 600 ms |
コンパイル使用メモリ | 65,840 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-02 14:18:49 |
合計ジャッジ時間 | 1,945 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 34 WA * 6 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:83:9: warning: ‘check’ may be used uninitialized in this function [-Wmaybe-uninitialized] 83 | if(check){ | ^~
ソースコード
#include <iostream> #include <algorithm> #include <functional> #include <string> #include <limits.h> #include <vector> #include <numeric> using namespace std; int main(){ int h,w; string in; int data[50][50]; int data2[50][50]; int lowy = 999; int lowx = 999; int highy = -1; int highx = -1; int ysize,xsize; bool check; cin >> h >> w; for(int iy=0; iy<h; iy++){ cin >> in; for(int ix=0; ix<w; ix++){ if(in[ix] == '#'){ data[iy][ix] = 1; if(iy < lowy){ lowy = iy; } if(ix < lowx){ lowx = ix; } if(iy > highy){ highy = iy; } if(ix > highx){ highx = ix; } }else{ data[iy][ix] = 0; } } } ysize = highy - lowy; xsize = highx - lowx; for(int ysizei=0; ysizei<=ysize; ysizei++){ for(int xsizei=0; xsizei<=xsize; xsizei++){ //初期化 for(int iy=0; iy<h; iy++){ for(int ix=0; ix<w; ix++){ data2[iy][ix] = data[iy][ix]; } } check = true; if(ysizei != 0 || xsizei != 0){ for(int iy=0; iy<h; iy++){ for(int ix=0; ix<w; ix++){ if(data2[iy][ix] == 1){ data2[iy][ix] = 0; if(iy+ysizei >= h || ix+xsizei >= w || data2[iy+ysizei][ix+xsizei] == 0){ check = false; iy = h; break; }else{ data2[iy+ysizei][ix+xsizei] = 0; } } } } if(check){ ysizei = ysize; break; } } } } if(check){ cout << "YES" << endl; }else{ cout << "NO" << endl; } return 0; }