已知在围棋盘中,有19行19列361个点。每个点的座标x,(0<=x<=18),y(0<=y<=18)表示该点在x行和y列。任意时刻,每个点必然处于三种状态中的一种:黑子状态,白子状态或无子状态。
若有两个点A和B,其坐标分别是(xa,ya)和(xb,yb)。如果有xa= xb且| ya - yb |=1或者ya= yb且| xa - xb |=1那么A和B为相邻点。
连通的定义:如果两个相邻点A和B,它们同为黑子状态或同为白子状态,则A和B是连通的。如果有三个点,A、B、C,A和B连通的,B和C连通的,那么,A和C也是连通的。
连通域的定义:如果一个点的集合D,集合中任两个点都是连通的,且在集合D之外的任一个点和D中的任一个点都不连通,那么D称为一个连通域。 很显然,连通域有以下特征:两个连通域D1和D2如果D1≠D2,则D1∩D2=空集。
一个连通域D,如果域中存在一个点,该点有一个相邻点的状态是无子状态,则D为非死棋。否则D为死棋。
编写一个程序,对于任意一个棋盘布局,求出黑子的所有连通域,并指出这些连通域是否是死棋。
没有思路啊。想用Java编。。连通域死棋围棋Java布局