結果
| 問題 |
No.179 塗り分け
|
| コンテスト | |
| ユーザー |
PicklesSuperior
|
| 提出日時 | 2019-02-19 15:53:59 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,209 bytes |
| コンパイル時間 | 922 ms |
| コンパイル使用メモリ | 72,848 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-12 05:51:48 |
| 合計ジャッジ時間 | 3,101 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 6 |
| other | WA * 40 |
ソースコード
#include<iostream>
#include<vector>
#include<string>
#include<string.h>
using namespace std;
int main(){
int H,W;
cin >> H;
cin >> W;
bool flag;
string row;
vector< vector<string> > map; //original
vector< vector<string> > map_prac; //copy
map.resize(H);
map_prac.resize(H);
for(int i=0;i<H;i++){
map[i].resize(W);
map_prac[i].resize(W);
}
for(int i=0;i<H;i++){
cin >> row;
for(int j=0;j<W;j++){
map[i][j]=row[j];
}
}
/*
//check
cout << "prac" << endl;
for(int i=0;i<H;i++){
for(int j = 0; j < W; j++)
{
cout << map[i][j];
}
cout << endl;
}
map_prac=map;
cout << "map_prac" << endl;
for(int i=0;i<H;i++){
for(int j = 0; j < W; j++)
{
cout << map_prac[i][j];
}
cout << endl;
}
*/
for(int i=0;i<H;i++){
for(int j=0;j<W;j++){//moving valiation 2499 ways
if(i==0&&j==0)continue; //skip (0,0) move
//cout << "moving [" << i << "]&[" << j << "]" << endl;
map_prac = map;
flag=true;
for(int k=0;k<H;k++){
for(int l=0;l<W;l++){
if(map_prac[k][l].compare(".")==0){ // "." found!
}else{ // "#" found!
if(((k+i)<H) && ((l+j)<W)){ // check sticking out
if(map_prac[k+i][l+j].compare("#")==0){
map_prac[k+i][l+j]=".";
}else{
//cout << "false[" << i << "]&[" << j << "]" << endl;
flag=false;
break;
}
}else{
flag=false;
}
}
}
if(!flag)break;// if flag is false ,finalize one moving validation
}
if(flag)break;
}
if(flag)break;
}
if (flag) {
cout << "Yes" << endl;
}else{
cout << "No" << endl;
}
return 0;
}
PicklesSuperior