为什么一直对83?已交卷
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000;
int n,m,u,v,ans;
int a[maxn][maxn];
int fx[4][2] = {0,-1,0,1,-1,0,1,0};
bool vis[maxn][maxn];
void dfs(int x,int y){
vis[x][y] = 1;
for(int k = 0;k < 4;k++){
int xx = x + fx[k][0],yy = y + fx[k][1];
if(a[xx][yy] == 1 && !vis[xx][yy]) dfs(xx,yy);
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i = 1;i <= n;i++)
for(int j = 1;j <= m;j++){
scanf("%d",&a[i][j]);
if(a[i][j] == 6) u = i,v = j;
}
dfs(u,v);
for(int i = 1;i <= n;i++)
for(int j = 1;j <= m;j++)
if(vis[i][j]) ans++;
printf("%d",ans);
return 0;
}