#C1589. J11 实践-2 连通块

J11 实践-2 连通块

J11 实践-2 连通块

题目描述

为了增强幼儿园小朋友的数数能力,小虎的老师给了一个家庭游戏作业。让小虎拿一块空的围棋盘,随机的在一些方格中放些棋子(有黑白两种颜色),如果一个方格和它的上、下、左、右四个方格之一都有相同颜色的棋子,则认为两格子是相连通的。这期间,要求小虎不断统计共有多少个连通块。 如下图是一个 595*9 的一块棋盘,其中'.'表示空格,'*'表示黑棋子,'@'表示白棋子。则有 44 块连通的棋子块。 92.png 哥哥大虎在一边看一边想,如果棋盘是 NNN*N 的,共放了 MM 个棋子,如何用计算机解决这个问题呢?

输入格式

第一行两个整数:NNMM。 接下来有 MM 行,每行三个正整数: C X Y(0C1,1X,YN)C\ X\ Y (0 \le C \le 1, 1 \le X,Y \le N)。分别表示依次放入棋子的颜色( 00 表示白色,11 表示黑色)、要放入格子的横坐标和格子的纵坐标。

输出格式

MM 行。第 ii 行一个整数,表示放入第 ii 个棋子后,当前有多少个棋子连通块。

输入样例1

3  5
1  1  1
1  1  2
0  2  2
1  3  1
1  2  1

输出样例1

1
1
2
3
2

输入样例2

3  5
1  1  2
1  2  1
1  3  2
1  2  3
1  2  2

输出样例2

1
2
3
4
1

样例分析

如上所述。

数据范围

对于 30%30\% 的数据:N,M10N, M \le 10

对于 100%100\% 的数据:N200000,M300000N \le 200000,M \le 300000