题号:P1141
代码:
#include <iostream>
#include <cstring>
#include <queue>
using namespace std;
int n,m,ans,vis[1005][1005],dis[4][2]={1,0,0,1,-1,0,0,-1};
char mp[1005][1005];
struct node{
int x,y;
};
void bfs(int x,int y){
queue<node> que;
node t;
t.x=x;
t.y=y;
vis[x][y]=1;
que.push(t);
while(!que.empty()){
t=que.front();
que.pop();
for(int i=0;i<4;i++){
node tt;
tt.x=t.x+dis[i][0];
tt.y=t.y+dis[i][1];
if(tt.x>=1&&tt.x<=n&&tt.y>=1&&tt.y<=n&&mp[tt.x][tt.y]!=mp[t.x][t.y]&&vis[tt.x][tt.y]==0){
vis[tt.x][tt.y]==1;
ans++;
que.push(tt);
}
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>mp[i][j];
}
}
while(m--){
int x,y;
cin>>x>>y;
ans=1;
memset(vis,0,sizeof(vis));
bfs(x,y);
cout<<ans<<endl;
}
return 0;
}
第25行的 = 写成了 ==,就发生了:
