大佬求助!
#include<bits/stdc++.h>
using namespace std;
short mm[1002][1002],n,m,nm[1002][1002];
void dfs(short x,short y,short h){
if(nm[x][y]==1||x<=0||y<=0||x>n||y>n) return;
if(h!=mm[x][y]) return;
nm[x][y]=1;
h++;
dfs(x+1,y,h%2);
dfs(x-1,y,h%2);
dfs(x,y+1,h%2);
dfs(x,y-1,h%2);
}
int main(){
cin>>n>>m;
for(short i=1;i<=n;i++)
for(short j=1;j<=n;j++)
cin>>mm[i][j];
for(short i=1;i<=m;i++){
int ans=0;
short x,y;
cin>>x>>y;
dfs(x,y,mm[x][y]);
for(short j=1;j<=n;j++)
for(short k=1;k<=n;k++)
if(nm[j][k]) ans++;
cout<<ans;
for(short j=1;j<=n;j++)
for(short k=1;k<=n;k++)
nm[j][k]=0;
}
return 0;
}