poj 1704 Georgia and Bob (nim)

news/2024/7/16 9:04:20

题意:

N个棋子,位置分别是p[1]...p[N]。

Georgia和Bob轮流,每人每次可选择其中一个棋子向左移动若干个位置(不能超过前一个棋子,不能超出最左边【位置1】且不能不移)

Georgia先手,问谁赢。

 

思路:

将棋子按位置从右到左两个两个作为一对。若棋子总个数是奇数,将第一个棋子和【位置0】作为一对。(可想象位置0放了一个棋子)。

情况一:先手若移动某对棋子中的第一个棋子K位,则后手可将该对棋子中的第二个棋子也移动K位。即这种情况不对结果产生影响。

情况二:先手若移动某对棋子中的第二个棋子。可将每对棋子两个棋子之间的距离看成一堆石头的个数。则此题和取石子一模一样!

OK,直接看代码..

 

代码:

int T,n;
int p[1005], a[1005];

int main(){
    cin>>T;
    while(T--){
        scanf("%d",&n);
        rep(i,1,n) scanf("%d",&p[i]);

        sort(p+1,p+1+n);
        p[0]=0;
        int num=0;
        for(int i=n;i>0;i-=2){
            a[++num]=p[i]-p[i-1]-1;
        }

        int ans=a[1];
        rep(i,2,num){
            ans=ans^a[i];
        }

        if(ans)
            puts("Georgia will win");
        else
            puts("Bob will win");
    }
}

 

转载于:https://www.cnblogs.com/fish7/p/4004378.html


http://www.niftyadmin.cn/n/3854420.html

相关文章

特征值和特征向量的几何意义、计算及其性质

一、特征值和特征向量的几何意义 特征值和特征向量确实有很明确的几何意义,矩阵(既然讨论特征向量的问题,当然是方阵,这里不讨论广义特征向量的概念,就是一般的特征向量)乘以一个向量的结果仍是同维数的一个…

AOP(Aspect oriented programming) 面向方面编程

一 AOP(Aspect oriented programming) 面向方面编程 [code] OOP面向对象编程 AOP和OOP虽然在字面上十分相似,但却是面向不同领域的两种设计思想.OOP 是在面向过程的编程方法基础上进行的改进,而AOP面向方面编程又是在面向对象编程的基础上进行改进而来的一种新的软件开发方法.O…

WINCE 下载地址(转)

WinCE 6.0 安装包比较大,从微软下载时,它只提供一个下载工具,用它下载比较慢在网上查了些资料,把WinCE所需的安装包地址都收集起来了,安装包文件名都是有规律的,可以用迅雷新建批量任务来下载,下…

数据库连接池的工作机制 面试常问

数据库连接池的工作机制 面试常问[code]当J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其标记为忙。如果当前没有空闲的池连接,池驱动程序就新建一…

课程助理For Windows(预览版,正方教务系统学生查分工具)

其实盖子已经开发了一个功能更强大的版本,但是那个版本依然基于正方系统,也就是说只要正方系统跪了或者张院士在网站上做点手脚,这个小工具就会失效。 今天给大家的版本虽然功能及其简单、界面极端丑陋,但是通过课程助理的接口&am…

使用java 实现九九乘法表 面试常问

使用java 实现九九乘法表 面试常问[code] public class NineByNineMultiplication{public static void main(String[] args){for(int i1;i<9;i){for(int j1;j<i;j){System.out.print(j"*"i""i*j"\t");}System.out.println();}} }结果如下&…

从windows到Linux-ubuntu新手

版本选择&#xff1a; 经多次实验&#xff0c;Ubuntu个人认为长期支持&#xff08;LTS&#xff09;版才值得装。 VMware9中测试&#xff1a;Ubuntu10.04开机内存170M&#xff0c;Ubuntu12.04开机内存340M。 个人感觉Ubuntu12.04像win7华丽消耗大&#xff0c;Ubuntu10.04像XP&am…

ios中二维码的用法

网上的例子 zbar 下载地址 http://pan.baidu.com/share/link?shareid2652605686&uk9237761871.新建一个工程A:view-base 2.拖动zbar框架到工程目录下 3.然后把zbar/iphone目录下的工程.xproj文件拖到A 4.在工程的Link Binary添加框架如下: Step1.使用ZBarSDK 需要…