在“泡泡流行”游戏中找到最高分

时间:2013-05-08 00:49:02

标签: algorithm graph-theory discrete-mathematics

[从math.stackexchange重新发布]

考虑以下游戏:有一个 n×n 字段,其中每个单元格以 m 颜色之一随机着色。让一个的细胞是一组相同颜色的细胞s.t.组中的每个单元格至少有一个共同边缘与另一个相同颜色的单元格。可以“弹出”一组s≥k单元,即从场中移除,并为玩家分配一个得分。当一组被移除时,剩余的细胞被移位。没有单元格下面有一个空单元格(基本上,剩余单元格“掉落”)。如果由于弹出而导致列消失,则其左侧的每个非空列都会向右移动一个单元格。当场上没有任何组时,游戏结束。得分是s的函数,并且最终计算累积得分。游戏的目的是获得最大累积分数。

问题是,是否存在允许计算给定起始细胞排列的最大可能最终得分的算法?我怀疑它与图搜索有关,但我对这些事情几乎没有经验。任何人都可以建议如何解决这类问题?我也想过用细胞自动机做一些事情,但我真的怀疑这种方法(无论多么有趣)。

1 个答案:

答案 0 :(得分:0)

是的,您可以在此问题中进行图表搜索。您的根节点将是初始板,分支将是从父节点移除某个组的操作,子节点将是相应删除的结果。将一个变量附加到将成为“得分”的每个节点,创建一个完整的树(对于一个非平凡的评分函数,应该探索所有节点)并找出所有叶子中得分最高的那个。

相关问题