結果
問題 |
No.179 塗り分け
|
ユーザー |
![]() |
提出日時 | 2015-05-21 22:04:54 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,469 bytes |
コンパイル時間 | 687 ms |
コンパイル使用メモリ | 66,448 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-02 14:16:02 |
合計ジャッジ時間 | 2,332 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 29 WA * 11 |
コンパイルメッセージ
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) / 2; xsize = (highx - lowx) / 2; 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(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; }