#A15. 深搜模板-红与黑-偏移数组
深搜模板-红与黑-偏移数组
#include
using namespace std;
int w,h;
char mg[21][21];
int dx[]={ {{ input(1) }} }; // 填空1:x方向的偏移数组
int dy[]={ {{ input(2) }} }; // 填空2:y方向的偏移数组
int ans;
void bfs(int x,int y){
if(x<=0||x>h||y<=0||y>w){{ input(3) }}; // 填空3:判断是否越界
if(mg[x][y]=='#'){{ input(4) }}; // 填空4:判断是否为障碍物
mg[x][y]={{ input(5) }}; // 填空5:标记已访问
ans{{ input(6) }}; // 填空6:更新答案
for(int i=0; i<{{ input(7) }}; i++){ // 填空7:循环次数
bfs(x+dx[i],y+dy[i]);
}
}
int main(){
cin>>w>>h;
int start_x;
int start_y;
while(w&&h){
for(int i=1; i<=h; i++){
for(int j=1; j<=w; j++){
cin>>mg[i][j];
if(mg[i][j]=='@'){
start_x=i;
start_y=j;
}
}
}
ans=0;
bfs(start_x,start_y);
cout<<ans<<endl;
cin>>w>>h;
}
return 0;
}