求教各位一道题
问题描述:为了增强幼儿园小朋友的数数能力,小虎的老师给了一个家庭游戏作业。让小虎拿一块空的围棋盘,随机在一些方格中放些棋子(有黑白两种颜色),如果一个方格和它的上、下、左、右四个方格之一都有相同颜色的棋子,则认为两格子是相连通的。这期间,要求小虎不断统计共有多少个连通块。
如下图是一个59的一块棋盘,其中“.”表示空格,“*”表示黑棋子,“@”表示白棋子。则有4块连通的棋子块。
.........
..**..@..
.**@@.@@.
..*@..*..
.........
哥哥大虎在一边看一边想,如果棋盘是nn的,共放了m个棋子,如何用计算机解决这个问题呢?
输入格式:
第1行有2个整数n,m,
下面m行,每行三个整数:C(0C1),X,Y(1X,Yn)。分别表示依次放入棋子的颜色(0表示白色,1表示黑色),要放入格子的横坐标和格子的纵坐标。
输入一:
3 5
1 1 1
1 1 2
0 2 2
1 3 1
1 2 1
输出格式:
共m行。第i行一个整数,表示放入第i个棋子后,当前有多少个棋子连通块。
输出一:
1
1
2
3
2
输入二:
3 5
1 1 2
1 2 1
1 3 2
1 2 3
1 2 2
输出二:
1
2
3
4
1
我的思路是这样的,先定义一个100*100的二维数组,将白棋赋予1值,将黑棋赋予0值,然后将其他的空格赋予-1值。各位是怎么想的呢?给个思路,大家一起探讨!