深搜代码我也不知道哪里出了问题,请大佬帮个忙~~我觉得这个也应该是橙题吧...~~代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,m,ans;
char s[1000+100][1000+100];
bool q[1100][1100];
void ls(int x,int y){
q[x][y]=1;
ans++;
if(x>1&&x<n&&s[x-1][y]!=s[x][y]&&q[x-1][y]==0)
ls(x-1,y);
if(x>1&&x<n&&s[x+1][y]!=s[x][y]&&q[x+1][y]==0)
ls(x+1,y);
if(y>1&&y<n&&s[x][y-1]!=s[x][y]&&q[x][y-1]==0)
ls(x,y-1);
if(y>1&&y<n&&s[x][y+1]!=s[x][y]&&q[x][y+1]==0)
ls(x,y+1);
}
int main(){
int x,y;
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>s[i];
while(m--){
memset(q,0,sizeof(q));
ans=0;
cin>>x>>y;
ls(x,y);
cout<<ans<<endl;;
}
return 0;
}