WApts10悬关
查看原帖
WApts10悬关
1059841
Bzh_2024楼主2023/8/29 20:09
#include<bits/stdc++.h>
#define I using
#define AK namespace
#define IOI std;
#define f first
#define s second
#define pii pair<int,int>
I AK IOI
typedef long long ll;
int n,m,color[505][505],d[4][2]={{0,1},{0,-1},{1,0},{-1,0}},ans;
pii fa[505][505];
inline pii find(pii a){
	int x=a.f,y=a.s;
	if(fa[x][y]==make_pair(x,y)) return fa[x][y];
	return fa[x][y]=find(fa[x][y]);
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			fa[i][j]={i,j};
			color[i][j]=-1;
		}
	}
	while(m--){
		int c,x,y;
		scanf("%d%d%d",&c,&x,&y);
		color[x][y]=c;
		ans++;
		for(int i=0;i<4;i++){
			int xx=x+d[i][0],yy=y+d[i][1];
			if(xx<1||xx>n||yy<1||yy>n||color[x][y]!=color[xx][yy]) continue;
			ans--;
			fa[x][y]={xx,yy};
		}
		printf("%d\n",ans);
	}
}

2023/8/29 20:09
加载中...