Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
55105 | 张志鹏 | 红与黑 | C++ | 运行出错 | 0 | 0 MS | 260 KB | 706 | 2022-07-29 20:08:49 |
#include<bits/stdc++.h> using namespace std; int w,h; struct f{ int i,j; }; int gi[5]={0,1,0,-1,0}; int gj[5]={0,0,1,0,-1}; int main(){ while(1){ int ans=1; cin>>w>>h; if(!w&&!h) break; int m[21][21]={0}; f p; for(int i=1;i<=w;i++){ for(int j=1;j<=h;j++){ char c; cin>>c; if(c=='#') m[i][j]=0; else m[i][j]=1; if(c=='@') p={i,j}; } } queue<f> q; q.push(p); while(!q.empty()){ f z={q.front().i,q.front().j}; q.pop(); for(int i=1;i<=4;i++){ f t={z.i+gi[i],z.j+gj[i]}; if(m[t.i][t.j]){ q.push(t); ans++; m[t.i][t.j]=0; } } } cout<<ans<<endl; } return 0; }