题意:
对一个 8x8的矩阵,有6种颜色可选,每次只能改变最左上角的颜色,改变的结果是,与该点连通的所有点都染成该颜色,问最少几次可以将整个图染成一样的颜色。
解法:
A* 搜索,估价函数为,若选择颜色 k,可以有多少格子在这次操作中被加入连通块,若估价为0,则剪掉。
vis[i][j] 可能为 0 1 2 为1 则代表该点在连通块中,为 2则代表该点与连通块相邻, 否则为0。
对当前局面,我们可以求出连通块以外还有多少种颜色,则最少需要这么多次操作可能完成目的。只是可能。我们将初始图中连通块外颜色数设置为可能完成目的的最少操作数。基于这个操作数,我们去验证是否可行。若不可行,数字+1,再去验证。直到找到可行解。
待补。
时间: 2024-10-31 12:16:53