TakeoffYoung

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

题意:

  对一个 8x8的矩阵,有6种颜色可选,每次只能改变最左上角的颜色,改变的结果是,与该点连通的所有点都染成该颜色,问最少几次可以将整个图染成一样的颜色。

 

解法:

  A* 搜索,估价函数为,若选择颜色 k,可以有多少格子在这次操作中被加入连通块,若估价为0,则剪掉。

  vis[i][j] 可能为 0 1 2 为1 则代表该点在连通块中,为 2则代表该点与连通块相邻, 否则为0。

  对当前局面,我们可以求出连通块以外还有多少种颜色,则最少需要这么多次操作可能完成目的。只是可能。我们将初始图中连通块外颜色数设置为可能完成目的的最少操作数。基于这个操作数,我们去验证是否可行。若不可行,数字+1,再去验证。直到找到可行解。

 

待补。

posted on 2015-07-25 17:44  TakeoffYoung  阅读(132)  评论(0编辑  收藏  举报