全WA,样例没过
  • 板块P1141 01迷宫
  • 楼主0LCH0
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/1/18 08:37
  • 上次更新2024/1/18 13:48:23
查看原帖
全WA,样例没过
1042158
0LCH0楼主2024/1/18 08:37
#include<bits/stdc++.h>
using namespace std;
int n,m,ans[1010*1010],cnt,dx[4]={0,1,0,-1},dy[4]={0,1,0,-1},a[1010][1010];
char s[10000][10000],c;
int num[1010][1010];
void dfs(int x, int y)
{
	if (!x || !y || x > n|| y > n ) return;
	num[x][y]=cnt;
	ans[cnt]++;
	for(int i=0,tx,ty;i<4;i++){
		tx=x+dx[i];
		ty=y+dy[i];
		if(!num[tx][ty] && a[tx][ty]!=a[x][y])
			dfs(tx,ty);
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)
		{
			cin>>c;
			a[i][j]=c-'0';
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(!num[i][j]){
				cnt++;
				dfs(i,j);
			}
		}
	}
	for(int i=1,qx,qy;i<=m;i++){
		cin>>qx>>qy;
		printf("%d\n",ans[num[qx][qy]]);
	}
	return 0;
}
2024/1/18 08:37
加载中...