1. dfs 深搜
错误代码如下
#include<iostream>
#include<cstring>
using namespace std;
int a[1002][1002],n,m,maxx;
int num[100002][2];
int f[4][2]= {0,1,0,-1,1,0,-1,0};
bool map[1002][1002];
int dfs(int x,int y) {
for(int j=0; j<=3; j++) {
int xx=x+f[j][0];
int yy=y+f[j][1];
if((a[x][y] xor a[xx][yy])&&map[xx][yy]!=1) {
map[xx][yy]=1;
dfs(xx,yy);
maxx++;
}
}
return maxx;
}
int main() {
string str;
cin>>n>>m;
for(int i=0; i<n; i++) {
cin>>str;
for(int j=0; j<n; j++) {
a[i][j]=str[j]-'0';
}
}
for(int i=0; i<m; i++) {
cin>>num[i][0]>>num[i][1];
cout<<dfs(num[i][0],num[i][1])<<endl;
}
return 0;
}
2. 记忆化搜索 wa80
错误原因是