现在的位置: 首页 > 综合 > 正文

poj 1704 Georgia and Bob(博奕)

2018年03月17日 ⁄ 综合 ⁄ 共 731字 ⁄ 字号 评论关闭
题意:Georgia and Bob
玩游戏,在一条形格子中有N个棋子,他们可以选择任意棋子,往左移到不超过其它棋子和最左边的任意步数。谁不能走谁输。

思路:跟Nim很像,把两个棋子的距离看成一堆石子,因为如果你把左边的棋子移动任意步数,右边的棋子跟着移动相同步数就会抵消(例 2 3
3 等同于 2),这样就转换成Nim游戏了。

//176K   
16MS

#include
#include
#include
using namespace std;
const int M = 1005;
int pos[M];
int main ()
{
    int
i,m,n;
    while
(~scanf ("%d",&n))
    {
       
while (n --)
       
{
           
scanf ("%d",&m);
           
for (i = 0; i < m; i ++)
               
scanf ("%d",&pos[i]);
           
sort(pos,pos+m);
           
int ans = 0;
           
if (m&1)
           
{
               
ans = pos[0] - 1;
               
for (i = 2;i < m;i += 2)
                   
ans ^= (pos[i] - pos[i-1] - 1);
           
}
           
else
           
{
               
for (i = 1;i < m;i += 2)
                   
ans ^= (pos[i] - pos[i-1] - 1);
           
}

           
if (!ans)
    

抱歉!评论已关闭.