結果
問題 | No.157 2つの空洞 |
ユーザー | itezpace |
提出日時 | 2016-07-25 23:17:00 |
言語 | C++11 (gcc 11.4.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,065 bytes |
コンパイル時間 | 465 ms |
コンパイル使用メモリ | 51,184 KB |
最終ジャッジ日時 | 2024-11-14 19:47:50 |
合計ジャッジ時間 | 874 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp:7:1: error: ‘vector’ does not name a type 7 | vector<vector<char>> v; | ^~~~~~ main.cpp: In function ‘void exp(int, int)’: main.cpp:13:3: error: ‘v’ was not declared in this scope 13 | v[a][b]='a'; | ^ main.cpp: In function ‘void calc(int, int)’: main.cpp:23:10: error: ‘v’ was not declared in this scope 23 | if(v[i][j]=='b'){ | ^ main.cpp: In function ‘int main()’: main.cpp:36:3: error: ‘v’ was not declared in this scope 36 | v.resize(h); | ^
ソースコード
#include <iostream> #include <algorithm> #include <climits> using namespace std; int w,h; vector<vector<char>> v; int dw[4]={1,-1,0,0}; int dh[4]={0,0,1,-1}; int m; void exp(int a,int b){ v[a][b]='a'; for(int i=0; i<4; ++i){ if(v[a+dh[i]][b+dw[i]]=='.') exp(a+dh[i],b+dw[i]); } } void calc(int a,int b){ int x,y,z; for(int i=0; i<h; ++i){ for(int j=0; j<w; ++j){ if(v[i][j]=='b'){ x=abs(i-a); y=abs(j-b); z=x+y-1; if(z<m) m=z; } } } } int main(){ m=INT_MAX; cin>>w>>h; v.resize(h); char c; for(int i=0; i<h; ++i){ v[i].resize(w); for(int j=0; j<w; ++j){ cin>>c; v[i][j]=c; } } int f; f=0; for(int i=0; i<h; ++i){ for(int j=0; j<w; ++j){ if(f==0 && v[i][j]=='.'){ exp(i,j); f=1; } } } for(int i=0; i<h; ++i){ for(int j=0; j<w; ++j){ if(v[i][j]=='.') v[i][j]='b'; } } for(int i=0; i<h; ++i){ for(int j=0; j<w; ++j){ if(v[i][j]=='a') calc(i,j); } } cout<<m<<endl; return 0; }