Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
55338 | 陈路垚 | 红与黑 | C++ | 通过 | 100 | 0 MS | 260 KB | 730 | 2022-07-30 09:40:17 |
#include<bits/stdc++.h> using namespace std; char mp[25][25]; int sx[4]={0,0,-1,1},sy[4]={-1,1,0,0},cnt,m,n,s1,s2,record; void dfs(int x,int y){ cnt++; int nx,ny; mp[x][y]='@'; for(int i=0;i<4;i++){ nx=x+sx[i]; ny=y+sy[i]; if(nx<m&&ny<n&&nx>=0&&ny>=0&&mp[nx][ny]=='.') dfs(nx,ny); } } int main(){ while(true){ cin>>n>>m; if(n==0&&m==0) return 0; cnt=0; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cin>>mp[i][j]; if(mp[i][j]=='@'){ s1=i; s2=j; } } } dfs(s1,s2); cout<<cnt<<endl; } return 0; }