hdu3389 Game-----博弈想法题 难

Game

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 133    Accepted Submission(s): 90


Problem Description
Bob and Alice are playing a new game. There are n boxes which have been numbered from 1 to n. Each box is either empty or contains several cards. Bob and Alice move the cards in turn. In each turn the corresponding player should choose a non-empty box A and choose another box B that B


 

Input
The first line contains an integer T (T<=100) indicating the number of test cases. The first line of each test case contains an integer n (1<=n<=10000). The second line has n integers which will not be bigger than 100. The i-th integer indicates the number of cards in the i-th box.


 

Output
For each test case, print the case number and the winner's name in a single line. Follow the format of the sample output.


 

Sample Input
 
   
2 2 1 2 7 1 3 3 2 2 1 2


 

Sample Output
 
   
Case 1: Alice Case 2: Bob


 

Author
hanshuai@whu


 

Source
The 5th Guangting Cup Central China Invitational Programming Contest


 

Recommend
notonlysuccess

 

引用:http://blog.csdn.net/pvpishard/article/details/6532509

 

1 3 4这三个位置无法移到其他位置。

 每个位置移到下个位置后奇偶性改变,模3结果也有固定变化(0->0,1->2,2->1),比如模3为1的奇数可以移到模3为2的偶数也可以移到模3为1的奇数,但最终只可能移到模3为1的奇数,也就是1(因为1、3、4中没有模3为2的),其他类型的数的最终位置也可如此得到。由于移到的最终位置是固定的,本身的奇偶性也是固定的,那么移动步数的奇偶性也是固定的。

 

容易得出模6为0、2、5的位置移动步数为奇,其余为偶。

 也容易得出移动位置是偶数步的位置上的牌数是无关紧要的:因为不论对方将偶数步位置上的牌作如何操作,我都可以把他移动的牌再往后移动一步。也就是说偶数步上的位置的牌我可以保证两个人对其的操作数是偶数次,从而不影响到奇数步位置上的牌的状态。

那奇数步位置上的牌呢?临时再来个无关紧要的结论:奇数步位置上的牌可以直接移到最终位置

一、如果直接把某一奇数步位置上的某些牌移到1、3、4这些终点位置,就相当于取石子游戏中从一堆石子里取走一些石子。

二、如果把一些牌移到偶数步位置,之前说了偶数步位置上的牌可以无视的,我们也可以把它看作是从这堆石子里取走了一些石子。

所以就是把奇数步位置上的异或起来就好了。

 

你可能感兴趣的:(博弈)