1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int dx[4]={-1,1,0,0}; int dy[4]={0,0,-1,1}; int ans,n,m,stx,sty; bool v[25][25]; void dfs(int x,int y) { for(int i=0;i<=3;i++) { int xx=x+dx[i],yy=y+dy[i]; if(v[xx][yy]==1) { v[xx][yy]=0; ans++; dfs(xx,yy); } } } int main() { while(cin>>m>>n&&n&&m) { memset(v,0,sizeof(v)); for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) { char c;cin>>c; if(c=='@')stx=i,sty=j; v[i][j]=(c=='.');//#和@都会变成0,只有.是1,越界的也会是0 } ans=1; dfs(stx,sty); cout<<ans<<"\n"; } return 0; }
- 1
信息
- ID
- 296
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 240
- 已通过
- 65
- 上传者