春天小猪

------------------加油

hdu 3514 Queen’s Case

题意:在一个格子图当中,每一个回合皇后先走,然后是士兵走,现在怎么定义我们的胜负呢,如果一个回合结束后,那么如果皇后和士兵在一个格子之内,就是士兵赢,如果皇皇后在出口处而士兵不在同一个格子里面,那么就是皇后赢,否则进行下一回合,每一个人物可以向周围4格走,或者不走,总共5种选择。

解法:最后的结果会有三种,皇后赢还是士兵赢,还是平局就是双方都不能赢,普通的dag上面的转移博弈就是规定了无环,同时走过的状态不能再次进入,然后可以通过递推解出来,现在的最大的问题就是有环怎么解。

还是用必胜必败态理论来考虑这个问题,如果这个点的后继有一个存在是必败态,那么他一定会选择进入,即使有环,(有必胜策略为什么还要进入循环),但是如果一个人接下去的其他后继都是必败态,那么他的后继之中如果没有循环,那么他就死定了,为什么(因为必须要选择一种走法),但是如果他的后继中如果存在循环,那么他一定会愿意进入循环中,因为这样就可以保持不败。

所以我们可以通过通过逆拓扑序来解决这个问题,将能够确定结果的状态先进入队列,进行处理,同时两种情况会进入队列,一种就是存在必胜策略,那么其他后继对于他来说都没有意义了,另外一种,如果都是必败后继,同时他的后继都处理过了,(不存在循环),那么我们就将他的状态定义为必败,进入队列,这样处理完之后,全部的状态就变成了三种,必胜和必败还有没处理,不能处理的部分全部都是平局的情况。

阅读更多
个人分类: ACM_题解
上一篇hdu 4807 Lunch Time
下一篇I am here now~ townboy.net
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭