题目的意思是给你一个多边形,每条边上有一个权值,你开始在第一个点。每次你必须经过一条有权值的边,并且把该边的权值减小到任意一个非负值,到达该边的另外一个点。

谁第一个无法操作就算输。

题意很简单,解法也很简单。

这样考虑,题目说明了在给定的边中一定有一条边为0,也就是说给的是一条链,实际上不是环。

结论是这样的,先手的人可以有两个方向走,如果任意一个方向上有奇数条权值大于0的边,那么先手必胜,如果任意一个方向上的离0边的距离都为偶数或0,那么就是必输。

证明也很简单。

假设在任意一个方向上恰好有奇数条边,那么一开始先手的人可以通过这条边,并且把该边的权值减少到0;那么接下来,另一个游戏者必须沿着该方向走,而且只有两种选择,那就是对于接下来这边边是否减少到0。如果使边权减少到0,那么显然先手的人只要继续把下一条边减少为0就可以获胜了;假如不把比比安全减少到0,那么先手可以在下一点回走一步,并且把比边权减少到0,这样这是一个孤立的点了,后手无法行动。于是就得出了有必胜的策略。

对于两天的边数都不为奇数的情况为必败态也是很显然的。只需要按上面的思路假设两种情况就得出结论了。 贴代码:

 #include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; int a[],n,m,k,ans1,ans2,t; int main()
{
scanf("%d",&t);
while (t--)
{
scanf("%d",&n);
for (int i=; i<=n; i++) scanf("%d",&a[i]);
for (ans1=; a[ans1+]!=; ans1++) ;
for (ans2=,k=n; a[k]!=; ans2++,k--) ;
if ((ans1&) || (ans2&)) printf("YES\n");
else printf("NO\n");
}
return ;
}

ZOJ2686_Cycle Gameu的更多相关文章

  1. QQ表情代码大全,你知道几个??

    很久没有给大家分享代码了,今天趁着有点时间来给大家分享一下QQ空间的表情代码!不用感谢我,大家拿去用吧! [em]e100[/em] 微笑bai[em]e101[/em] 撇嘴[em]e102[/em ...

随机推荐

  1. 20155239 《Java程序设计》实验三(敏捷开发与XP实践)实验报告

    实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 学会使用git 学会代码的重构 实现团队合作 团队分工 20155239:按照老师的实验三教程,逐步实验,编写代码,并用git上传,下载团 ...

  2. 20155318 2016-2017-2 《Java程序设计》第三周学习总结

    20155318 2016-2017-2 <Java程序设计>第三周学习总结 教材学习内容总结 一.类与对象 Clothes c1 = new Clothes();将c1名称参考至新建对象 ...

  3. PHP学习笔记之interface关键字

    interface用于定义接口 接口里边的方法不需要有方法的实现 implements用于表示类实现某个接口 实现了某个接口之后,必须提供接口中定义的方法的具体实现. 可以用instanceof关键字 ...

  4. js想不通的地方

    1.js函数的function() 为什么能接受那么多参数,这些参数的名字顺序必须固定还是怎么? 怎么知道调用的时候会发送该参数过去?内部原理?手动传输? 2.js对象,json对象,java对象怎么 ...

  5. tkinter事件高级用法实例

    from tkinter import * import threading, time trace = 0 class CanvasEventsDemo: def __init__(self, pa ...

  6. Zabbix学习之路(一)之Zabbix安装

    一.Zabbix环境准备 [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@linux-n ...

  7. ELKStack入门篇(三)之logstash收集日志写入redis

    1.部署Redis 1.1.下载redis [root@linux-node2 ~]# wget http://download.redis.io/releases/redis-4.0.6.tar.g ...

  8. SpringBoot-08:SpringBoot采用json的方式实现前后台通用的配置文件

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 一.需求: 本篇博客是最近笔者做的一个项目,已经上线但是还在不断开发,有些页面上的配置,测试服务器和正式服务器 ...

  9. .Net FrameWork常用类

    System类 System.Environment类: 提供有关当前环境和平台的信息以及操作它们的方法. System.Console类      :表示控制台应用程序的标准输入流.输出流和错误流. ...

  10. 180718-jar包执行传参使用小结

    jar包执行时传参的使用姿势 虽说我们现在大多不太直接使用jar包运行方式,目前比较主流的是将自己的服务丢在某个容器中(如tomcat,jetty等)运行,比如我之前所属的电商公司,就是将项目打包为w ...