好久没有整标题问题了,并不是没有好的标题问题整,只是本身懒了太懒了太懒了。。。连忙整理几个题补一下本身的罪过。。。
DescriptionBo is a "Life Winner".He likes playing chessboard games with his girlfriend G.
The size of the chessboard is N×M .The top left corner is numbered(1,1) and the lower right corner is numberd (N,M) .
For each game,Bo and G take turns moving a chesspiece(Bo first).At first,the chesspiece is located at (1,1) .And the winner is the person who first moves the chesspiece to (N,M) .At one point,if the chess can‘t be moved and it isn‘t located at (N,M) ,they end in a draw.
In general,the chesspiece can only be moved right or down.Formally,suppose it is located at (x,y) ,it can be moved to the next point (x′,y′) only if x′≥x and y′≥y .Also it can‘t be moved to the outside of chessboard.
Besides,There are four kinds of chess(They have movement rules respectively).
1.king.
2.rook(castle).
3.knight.
4.queen.
(The movement rule is as same as the chess.)
For each type of chess,you should find out that who will win the game if they both play in an optimal strategy.
Print the winner‘s name("B" or "G") or "D" if nobody wins the game.
In the first line,there is a number T as a case number.
In the next T lines,there are three numbers type,N and M .
"type" means the kind of the chess.
T≤1000,2≤N,M≤1000,1≤type≤4
For each question,print the answer.
Sample Input
4
1 5 5
2 5 5
3 5 5
4 5 5
Sample Output
G
G
D
B
题意:
n*m的棋盘,一枚棋子要从左上角(0,0)到右下角,两小我私家轮流移动,谁移动到最后一步谁胜利,移动法则如下,有四种棋子:
1、king 国王 向右,向下,或者向右下移动一格
2、castle 车 向右,或者向下移动任意格
3、knight 马 向2*3的矩阵的另一个角移动
4、queen 王后 移动到同一行、列、斜线的任意位置
思路:很明显这个是一个博弈的标题问题。他好在有四种棋子,分袂对应四种走法,也就是将四个博弈结合在了一起。
将棋盘看作两堆石子,棋子移动取就是两堆石子,谁先取完谁胜利,一堆石子n-1个,一堆m-1个。
将四种博弈分袂分析
1、king 国王 向右,向下,或者向右下移动一格,简化成石子问题就是可以在此中一堆取一个(向右、向下)或者在两堆中各取一个(向右下)。最终取到(0,0) 那就很明显了,最终功效是偶偶的,每一次偶偶都只能酿成奇偶,偶奇,奇奇,然而这三种都能一次酿成偶偶。于是就有答案了,谁面对偶偶的场面田地谁就输,对方只要连结每次都让他面对偶偶的场面田地就能保证取走最后的石子。这是对付n-1和m-1,对付n,m就是当n,m都为奇数时第一小我私家面对必败态,否则第一小我私家胜利。
2、castle 车 向右,或者向下移动任意格,简化成石子问题就是从某一堆中取出任意个,简单的nim博弈就能解决。同样也可以理解为一开始就保证和终点在一条对角线上,必然是先手赢,所以必胜计谋就是先手移动到对角线上——然而如果一开始就是一个正方形,那先手必定必败了。
3、knight 马 向2*3的矩阵的另一个角移动, Knight的移动要领跟马一样走日字,它对照难措置惩罚惩罚,因为它有和局的情况(好比某小我私家一直往右走,导致劈面无路可走)使对手无法获告捷利…这样的情况看似麻烦,其实我们也可以用不异的思想分析必胜和必败状态。 我们先区分能分出胜负的场所排场和平局的场所排场,通过画图,我们可以发明(2,3)和(3,2)这样的情况是必然先手必胜的,而想(3,3)这种情况就无法到达,更进一步,我们发明(4,4)这种情况是必然必败的,而其他比它小的情况全部是平局。 更进一步,我们发明(5,6)这种情况也是必胜的:我们只需要先手走到(2,3)这个点就可以,在之前,,我们知道(4,4)是先手必败,而在这里,我们如果把(2,3)看作起始点,把(5,6)看作终点,其构成的正方形和适才那种情况一模一样:这说明这就是一种可以区分胜负的场所排场,从(4,4)开始,(7,7),(10,10)….均为先手必败,然而我们如果可以先手走到这样一种必败的场所排场,我们便是必胜的——而其余情况,全为和局。 到这里我们就可以写出最终功效了:当终点减去起点的坐标能被3整除的时候,先手必败;对付必胜条件,我们只需要判断(2,3)和(3,2)是否可以到达必败场所排场就可以了。