当前位置: 首页 > 编程日记 > 正文

博弈最高位POJ 1704(Georgia and Bob-Nim博弈)

新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正

Georgia and Bob
Time Limit: 1000MSMemory Limit: 10000K
Total Submissions: 6341Accepted: 1826

Description

Georgia and Bob decide to play a self-invented game. They draw a row of grids on paper, number the grids from left to right by 1, 2, 3, ..., and place N chessmen on different grids, as shown in the following figure for example: 
博弈和最高位

Georgia and Bob move the chessmen in turn. Every time a player will choose a chessman, and move it to the left without going over any other chessmen or across the left edge. The player can freely choose number of steps the chessman moves, with the constraint that the chessman must be moved at least ONE step and one grid can at most contains ONE single chessman. The player who cannot make a move loses the game. 

Georgia always plays first since "Lady first". Suppose that Georgia and Bob both do their best in the game, i.e., if one of them knows a way to win the game, he or she will be able to carry it out. 

Given the initial positions of the n chessmen, can you predict who will finally win the game? 

Input

The first line of the input contains a single integer T (1 <= T <= 20), the number of test cases. Then T cases follow. Each test case contains two lines. The first line consists of one integer N (1 <= N <= 1000), indicating the number of chessmen. The second line contains N different integers P1, P2 ... Pn (1 <= Pi <= 10000), which are the initial positions of the n chessmen.

Output

For each test case, prints a single line, "Georgia will win", if Georgia will win the game; "Bob will win", if Bob will win the game; otherwise 'Not sure'.

Sample Input

2
3
1 2 3
8
1 5 6 7 9 12 14 17

Sample Output

Bob will win
Georgia will win

Source

POJ Monthly--2004.07.18
每日一道理
试试看——不是像企鹅那样静静的站在海边,翘首企盼机会的来临,而是如苍鹰一般不停的翻飞盘旋,执著的寻求。 试试看——不是面临峰回路转、杂草丛生的前途枉自嗟叹,而是披荆斩棘,举步探索。 试试看——不是拘泥于命运的禁锢,听凭命运的摆布,而是奋力敲击其神秘的门扉,使之洞开一个新的天地。微笑着,去唱生活的歌谣。

先将数一一配对(a,b),若是奇数则把最左边与0配对。

那么若对方向左挪a,我们也挪动b雷同步数。

那么唯一会影响的就是各配对间的间隔。

假设有间隔c1,c2..cn

那么相当于每次选一个数,减去最少1.

这就像nim取石,有n堆石子,每次最少取走其中一堆的最少一个,谁最早没石子取就输。

这个问题的答案是 c1^c2^..^cn=0时有必解,否则必胜。

都懂得……

证明:

假设你面临一个c1^c2^...^cn=0的局势

A:取走多少石子使c1^c2^...^cn=k

B:取走ci的最高位与k的最高位雷同的那堆 ci^k个 //最高位的1^1=0,所以ci^k<ci 

A:恭喜你还是必输

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<functional>
#include<iostream>
#include<cmath>
#include<cctype>
#include<ctime>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=pre[x];p;p=next[p])
int T,n,a[100000+10];
int main()
{scanf("%d",&T);while (T--){scanf("%d",&n);For(i,n) scanf("%d",&a[i]);sort(a+1,a+1+n);int tmp=0,head=1;if (n%2) tmp=a[1]-1,head++;for(int i=head;i<=n;i+=2){tmp^=(a[i+1]-a[i]-1);}if (tmp) puts("Georgia will win");else puts("Bob will win");}return 0;
}


文章结束给大家分享下程序员的一些笑话语录: 不会,Intel会维持高利润,也会维持竞争局面,国外的竞争不是打死对方的那种。你看日本有尼康,佳能,索尼,都做相机,大家都过得很滋润。别看一堆厂,其实真正控制的是后面的那几个财团——有些竞争对手,后面其实是一家人。

--------------------------------- 原创文章 By
博弈和最高位
---------------------------------

相关文章:

用Python深入理解跳跃表原理及实现

最近看 Redis 的实现原理&#xff0c;其中讲到 Redis 中的有序数据结构是通过跳跃表来进行实现的。第一次听说跳跃表的概念&#xff0c;感到比较新奇&#xff0c;所以查了不少资料。其中&#xff0c;网上有部分文章是按照如下方式描述跳跃表的&#xff1a; 这种描述便于理解&am…

Linux进程管理:进程状态和CPU平均负载

常见的linux进程状态如下&#xff1a; 关于源文件xmid&#xff0c;可以从Mind-Mapping获取 这里借助进程状态来描述一下linux系统中的平均负载的概念 当我们感觉到系统变慢时&#xff0c;通常通过top和uptime命令来了解系统的负载情况 [rootpub-ncpu-ndb0 ~]# uptime21:06:13…

poj2420A Star not a Tree?(模拟退火)

链接 求某一点到其它点距离和最小&#xff0c;求这个和&#xff0c;这个点 为费马点。 做法&#xff1a;模拟退火 1 #include <iostream>2 #include<cstdio>3 #include<cstring>4 #include<algorithm>5 #include<stdlib.h>6 #include<vector&…

刀剑英雄登陆显示服务器繁忙,玩刀剑遇到问题解决方法

以下是目前在内测阶段玩家比较常见的一些问题&#xff0c;希望对大家有所帮助&#xff01;1.如果没有正确安装DX9.0B,可能会造成"执行文件BO.EXE时出错&#xff0c;错误代码:2"或者"错误代码:1157"等错误.一个验证方法就是直接运行Bo.exe文件如果提示"…

实战:一次失败的WEB攻击试验,欢迎高手补充

2019独角兽企业重金招聘Python工程师标准>>> 首先声明&#xff1a;这个文章我描述的是一次比较失败的WEB攻击试验&#xff0c;理论基础是一次在网上看到的一篇关于"慢攻击"的概念&#xff0c;那什么叫慢攻击呢&#xff1f; 在解释这个"慢攻击"概…

十大排序算法 导图总结

以下为我们经常用到的十大典型排序算法导图&#xff0c;很多设计以及优化的思想值得去参考学习 因为代码较多&#xff0c;所以都添加到对应的实现注释中了&#xff0c;相关代码可以从Mind-mapping获取xmind源文件 参考文档: 基数排序 堆排序 希尔排序 https://blog.csdn.net/r…

机器学习问题的十个实例【转】

机器学习是什么&#xff1f;这个问题的答案可以参考权威的机器学习定义&#xff0c;但是实际上&#xff0c;机器学习是由它所解决的问题定义的。因此&#xff0c;理解机器学习最好的方式是观察一些实例。 首先来看一些现实生活中众所周知和理解的机器学习问题的实例&#xff0c…

node项目部署到服务器报错,记一次部署node项目到centos服务器经历

&#xff1a;-}先从网上随便搜了个 contos 安装 node 的教程&#xff0c;大概就是这样。准备命令&#xff1a;yum -y install gcc make gcc-c openssl-devel wget下载源码及解压&#xff1a;编译及安装&#xff1a;cd node-v0.10.26make && make install验证是否安装配…

用shell脚本监控系统

简单的用shell脚本写一个“监控”程序作为思路&#xff0c;大致为&#xff1a;实时检测系统的内存使用率&#xff0c;如果大于阈值那么报警&#xff08;如果有条件可以使用短信接口或者实在不行可以使用邮件通知&#xff09;&#xff0c;并记录到日志文件里&#xff0c;如果小于…

P2480 [SDOI2010]古代猪文 Lucas+CRT合并

\(\color{#0066ff}{ 题目描述 }\) 猪王国的文明源远流长&#xff0c;博大精深。 iPig在大肥猪学校图书馆中查阅资料&#xff0c;得知远古时期猪文文字总个数为N。当然&#xff0c;一种语言如果字数很多&#xff0c;字典也相应会很大。当时的猪王国国王考虑到如果修一本字典&…

Linux进程管理: 多进程编程

多进程编程 mind-Mapping保存有xmind原始文件&#xff0c;可直接获取 无名管道PIPE 命名管道FIFO POSIX共享内存 POSIX消息队列 POSIX信号量 SYS V共享内存 SYS V消息队列 SYS V信号量

关于HtmlAgilityPack解析页面中数据乱码问题

第一种方式&#xff1a;publicstaticHtmlDocument LoadHtmlByUrls(stringurl){HtmlDocument htmldoc;HtmlWeb htmlWeb new HtmlWeb(); //不够完善 此内置方法导致中文乱码//htmlWeb.OverrideEncoding Encoding.UTF8;htmldoc htmlWeb.Load(url);Encoding coding htmldoc.S…

服务器无线网卡驱动程序,在Ubuntu里使用Windows的无线网卡驱动程序的方法教程...

Ubuntu的“帮助和支持”说“Ubuntu支持一种称为NDISWrapper的系统。它可以让你在Ubuntu下使用Windows无线设备驱动程序”。1、准备好无线网卡的Windows驱动程序&#xff0c;我是用for Windows XP的。2、先用有线网络联网&#xff0c;在新立得软件包管理器里安装ndisgtk。或到ht…

绿色版mysql使用方法

一、下载MySQLhttp://www.mysql.org/downloads我下载的是mysql-noinstall-5.0.67-win32.zip 二、安装过程1、解压缩 mysql-noinstall-5.0.67-win32.zip 到一个C盘&#xff0c;重新命名为 MySQL5 。假定MYSQL_HOMEC: MySQL52、编辑mysql的运行配置文件my.ini&#xff0c;如果没有…

C# 栈 、队列的概念

栈&#xff1a; 也是System.Collections下的数据结构 存储依然是Object类型的对象 Stack 名字 new Stack(); Count&#xff1a;实际拥有的元素个数 栈的释放顺序是先进后出&#xff08;后进先出&#xff09; 压栈——Push(object 对象)把这个对象添加到栈的顶部 弹栈——Pop()…

Linux多线程管理: 多线程编程

多线程编程 mind-Mapping保存有一下导图的xmind文件&#xff0c;可直接获取 互斥变量 互斥对象 ptrhead相关接口 条件变量 future异步访问类 async类 promise类 package_task类

codeforces 165B(Burning Midnight Oil)

【题意描述】 本题就是给定代码任务为n行&#xff0c;起始代码书写能力为v行&#xff0c;然后每经过一次除以k&#xff0c;当v变为0时看是否完成代码任务n&#xff1f;并求出最小的v。 【解题思路】 我们可以对v值进行二分&#xff0c;然后确定最后的v值。 【AC代码】 1 #inclu…

服务器计费系统安卓,GitHub - NWAFU/dms_client: 服务器计费系统(客户机端):用于统计租户的服务器使用情况...

概述在电信的业务中&#xff0c;有一种Unix实验室出租业务。只要用户向电信运营商申请一个Unix帐号&#xff0c;就可以远程登录Unix实验室&#xff0c;并使用Unix系统。用户使用电信运营商提供的Unix实验室的服务需要缴纳一定的费用&#xff0c;电信运营商需要一套数据采集系统…

mac的终端下面使用ssh user@localhost输入密码 不能正常登录

2019独角兽企业重金招聘Python工程师标准>>> 今天回来后发现系统突然很奇怪&#xff0c;以前在mac的终端下面使用ssh userlocalhost输入密码就可以连接到远程的SSH服务器&#xff0c;今天连接的时候老是提示如下错误&#xff1a; KENFORFORLIN:~ kenforstar$ sudo …

spring mvc + mybatis 框架搭建 ( idea + gradle)

spring mvc mybatis 框架搭建 idea gradle 刚刚入门&#xff0c;只是个人见解&#xff0c;如有错误或者问题欢迎指出指正。 邮箱&#xff1a; [ wgh0807qq.com ] 文章引用&#xff1a; [apache - log4j] [mybatis 配置] 一、 build.gradle 加载相关包 在dependencies下配置 相…

Linux系统性能分析: CPU

CPU 原始文件路径mind-Mapping CPU上下文切换 CPU使用率

jquery-tmpl 插件

做项目时页面上有处功能是&#xff1a;在页面有处列表、有添加&#xff0c;我添加修改或删除后要刷新这个列表&#xff0c;首先想到的是局部刷新&#xff0c;但我们一般说的局部刷新就是利于ajax去后台调用数据并显示&#xff0c;而这里是一整个列表就比较麻烦了&#xff0c;刷…

java mongodb存base64_阿里JAVA面试分享经验【文末有福利】

基础篇参考这里的面试题&#xff1a;面试题写在后面了能回答上百分之七十&#xff0c;基础的广度就算OK了。如果达不到&#xff0c;那么缺什么就赶紧补什么。广度达到了&#xff0c;还需要对个别热点问题有深度。每个人的精力都有限&#xff0c;可以适当挑选两个热点问题进行深…

win7/8SVN必备的4个服务

为什么80%的码农都做不了架构师&#xff1f;>>> 最近刚刚学会用vpn&#xff0c;某次用某软件加速系统后svn不能用了&#xff0c;反复查看&#xff0c;发现是Event Log的原因。所以和大家分享一下SVN必备的4个系统服务。 Windows Event Log Secure Socket Tunneling…

Spark集群部署(standLone)模式

安装部署&#xff1a; 1. 配置spark为1个master&#xff0c;2个slave的独立集群&#xff08;Standlone&#xff09;模式&#xff0c; 可以在VMWare中构建3台运行Ubuntu的机器作为服务器&#xff1b; master主机配置如下&#xff1a; vim /etc/hostname 编辑此文件&#xff0c;设…

读书:一百个 终身受益的 思维模型(持续更新)

《第二曲线》 刻意练习 金字塔原理

map 小模板~~~ 写的不好 继续添加

#include<map>#include<string.h>#include<iostream>using namespace std;int main(){ ///map插入 map<string,int> mp; ///<key值 val值> mp["a"]1; mp["b"]2; mp["c"]3; map<string,int…

为什么二级菜单会被挡住_二级建造师为什么这么难考?2021年二建考试也会很难吗?...

2020年二建考试难到上热搜&#xff0c;广大考生被难到怀疑人生&#xff0c;老考生一副"我看透你了"的过来人嘴脸&#xff0c;新考生只能在角落瑟瑟发抖。随着2020年二建考试逐渐落幕&#xff0c;2021年二建备考被提上日程&#xff0c;许多考生心中也逐渐产生疑问&…

Nginx与PHP(FastCGI)的安装、配置、优化

一、什么是 FastCGIFastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持FastCGI&#xff0c;包括Apache、Nginx和lighttpd等&#xff0c;同时&#xff0c;FastCGI也被许多脚本语言所支持&#xff0c;其中就有PHP。FastCGI是从…

Cobbler-自动化部署神器

Cobbler-自动化部署神器 前言&#xff1a; 网络安装服务器套件 Cobbler(补鞋匠)从前&#xff0c;我们一直在做装机民工这份很有前途的职业。自打若干年前 Red Hat 推出了 Kickstart&#xff0c;此后我们顿觉身价倍增。不再需要刻了光盘一台一台地安装 Linux&#xff0c;只要搞定…