Jes*_*rew 7 algorithm graph solver
考虑一下沿着Tower Solitaire,Tripeaks或Fairway Solitaire线路的纸牌游戏:桌子上有一些可立即使用的牌,每张牌都可以覆盖下面的其他牌(阻止他们玩牌).你有一张"基础"牌,你可以从桌子上取出一张牌,如果它只是你的基础牌之上或之下的一个等级,那么它就成了你的新基础牌.当您无法从牌桌上打牌时,您可以使用有限数量的替换牌进行抽牌,因此您通常希望尽可能打出最长的牌.
首先,您如何代表董事会以便寻找解决方案?其次,你会用什么算法来找到最长的可玩序列?
例:
-4a- -5- -3- -2- -4b-
底部卡片卡在顶部被移除:你不能删除4a,直到3和2都消失.假设您的起始牌是王牌,这里的最佳游戏将是2,3,4b,5,4a.(你可以玩2,3,4a,但那不太好.)
我想这应该表示为某种有向图.你有从3和2到4a以及从2到4b到5的边缘,但你是否还有3到2之间以及4a和5之间的边缘,因为一个可以在另一个之后播放?如果是这样,它们是否可以按任意顺序播放(3然后2,或2然后3)这样的事实会在图形中形成一个循环,阻止您使用有效的"最长路径"算法?(我相信如果图形包含循环,在图形中找到最长的路径是NP完全的.)
归档时间: |
|
查看次数: |
3733 次 |
最近记录: |