hdu 4023 Game

hdu 4023 Game

题意:Alice还有Bob 轮流在已知的15中俄罗斯方块上放置瓷砖,Alice放置的是垂直的2*1的矩形,Bob放置的是水平的1*2的矩形,Alice 先开始放,最后没位置可以放者输,输出最后的胜者;

分析:题目看似博弈,却是一道贪心+模拟(其实我一开始也死命的认为是博弈,而且,因为博弈还没怎么搞过,就直接跳过了,是看了大牛的提示才知道的);

有这样十五种俄罗斯方块:

很明显,各种方块对俩人而已是有利也有弊的,俩个人都有自己想优先选择放置的方块。

(1,2),都是对于自己稳定的

(3,4) (5,6) 前者对B最有利,后者对A最有利

(7,8),(9,10),前者对B最不利,后者对A最不利

(11,12,13,14),对A,B利害相同

(15)对自己最有利,对对方最不利

Alice的贪心顺序是:(15),(5,6),(3,4),(11,12,13,14),(7,8),(9,10)

Bob的贪心顺序是:(15),(3,4),(5,6),(11,12,13,14),(9,10),(7,8)

知道贪心的顺序之后,模拟也是得小心翼翼呀,orz

用变量ans[0],ans[1]分别记录Alice 和 Bob各自稳定的步数(就是肯定是只有他们各自可以放置的位置数,所以没有先放置),用变量now模拟过程,记录轮到谁放置了。之后按照贪心顺序模拟即可;

这里有一个 需要十分注意的地方:ans记录的是稳定步数而非可走的步数,(就是在这里WA了好多次),因为这里变量now已经模拟了(交换了放置顺序了).

最后剩余的稳定的步数最多者胜,相等则轮到谁谁就输了

 

posted @   枕边梦  阅读(473)  评论(4编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示