概述
题目:1113. 红与黑
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int,int >PII;
const int N=1e5+10;
const int mod=100000007;
int fx[4]={0,0,1,-1},fy[4]={1,-1,0,0};
int w,h;
char a[25][25];
int main(){
while(cin>>w>>h){
if(w==0&&h==0) break;
int s1,s2;
for(int i=0;i<h;i++){
for(int j=0;j<w;j++){
cin>>a[i][j];
if(a[i][j]=='@'){
s1=i,s2=j;
}
}
}
bool sta[25][25];
memset(sta,0,sizeof sta);
queue<PII> q;
sta[s1][s2]=1;
q.push({s1,s2});
int ans=0;
while(q.size()){
ans++;
int x=q.front().first;
int y=q.front().second;
//cout<<endl<<x<<" "<<y;
q.pop();
for(int i=0;i<4;i++){
int xx=x+fx[i];
int yy=y+fy[i];
if(xx<0||xx>=h||yy<0||yy>=w) continue;
if(a[xx][yy]=='#'||sta[xx][yy]) continue;
sta[xx][yy]=1;
q.push({xx,yy});
}
}
cout<<ans<<endl;
}
return 0;
}
最后
以上就是含糊饼干为你收集整理的acwing 1113. 红与黑(蓝桥杯)的全部内容,希望文章能够帮你解决acwing 1113. 红与黑(蓝桥杯)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复