第二题 blocks--中高级

 1 Sec 64 MB |  显示标签
46137
通过提交

题目描述

为了增强幼儿园小朋友的数数能力,小虎老师给了一个家庭游戏作业。让小虎拿一块空的围棋盘,随机在一些方格中放些棋子(有黑白两种颜色),如果一个方格和它的上、下、左、右四个方格之一有相同颜色的棋子,则认为两个格子是相互连通的。这期间,要求小虎不断统计共有多少个连通块。
如下图是一个5*9的一块棋盘,其中“.“表示空格,”*“表示黑棋子,”@“表示白棋子。
则有4块连通子块。
.........
..**..@@.
.**@@.@@.
..*@..*..
.........
哥哥大虎在一边看一边想,如果棋盘是N*N的,共放了M个棋子,如何使用计算机解决这个问题呢?
数据范围
30%数据:1<=n<=10
6%数据:1<=n<=100
100%数据:1<=n<=500 1<=m<=n*n。

输入格式

第一行两个整数:N,M
接下来有M行,每行三个整数:C X Y(0<=c<=1,1<=x,y<=n)。分别表示依次放入棋子的颜色(0表示白色,1表示黑色)、要放入格子的横坐标和格子的纵坐标。

输出格式

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

样例输入 #1

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

样例输出 #1

【样例输出1】
1
1
2
3
2
【样例输出2】
1
2
3
4
1

 上传者
coach
 创建时间
2013-08-15 08:58