提交时间:2026-02-06 11:50:14

运行 ID: 15491

#include<bits/stdc++.h> using namespace std; int n,m,i,j,s,x,y,tx,ty; int fx[4]={1,-1,0,0}; int fy[4]={0,0,-1,1}; char a[21][21]; void dfs(int x,int y){ a[x][y]='#'; s++; for(int k=0;k<4;k++){ tx=x+fx[k]; ty=y+fy[k]; if(tx>=1&&tx<=m&&ty>=1&&ty<=n&&a[tx][ty]=='.'){ dfs(tx,ty); } } } int main(){ cin>>n>>m; for(i=1;i<=m;i++){ for(j=1;j<=n;j++){ cin>>a[i][j]; if(a[i][j]=='@'){ x=i; y=j; } } } dfs(x,y); cout<<s; }