ZOJ2686_Cycle Gameu
题目的意思是给你一个多边形,每条边上有一个权值,你开始在第一个点。每次你必须经过一条有权值的边,并且把该边的权值减小到任意一个非负值,到达该边的另外一个点。
谁第一个无法操作就算输。
题意很简单,解法也很简单。
这样考虑,题目说明了在给定的边中一定有一条边为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的更多相关文章
- QQ表情代码大全,你知道几个??
很久没有给大家分享代码了,今天趁着有点时间来给大家分享一下QQ空间的表情代码!不用感谢我,大家拿去用吧! [em]e100[/em] 微笑bai[em]e101[/em] 撇嘴[em]e102[/em ...
随机推荐
- 安装虚拟机和Linux系统的学习
安装虚拟机和Linux系统的学习(随笔3) 1.安装虚拟机 首先我按着老师给的链接上的步骤一步一步安装VirtualBox,进行得十分顺利. 接着则是在虚拟机上安装Ubuntu. 然而安装完成以后按要 ...
- 实验一:实现求正整数1-N之间所有质数的功能,并进行测试。
实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 命令行下的程序开 ...
- 20145226 《Java程序设计》第3周学习总结
教材学习内容总结 学习目标 区分基本类型与类类型 理解对象的生成与引用的关系 掌握String类和数组 理解封装的概念 掌握构造方法的定义 理解重载的概念 掌握static的应用 教材第四章内容总结 ...
- 使用cursor递归遍历sqlserver的相应表
use rc GO )DECLARE cur1 cursor for select [name] from sys.tables where name LIKE 'index_%' drop tabl ...
- [2016北京集训试题8]连在一起的幻想乡[dp+无向图计数]
Description Solution 本博客参考yww大佬的博客,为了加深理解我就自己再写一遍啦. 以下的“无向图”均无重边无自环. 定义f0[n]为n个点构成的无向图个数,f1[n]为n个点构成 ...
- 【转】linux下,如何把整个文件夹上传到服务器(另一台linux)
原文转自:https://zhidao.baidu.com/question/1046040541327493019.html 1.Linux下目录复制:本机->远程服务器 scp -r /h ...
- oss上传文件0字节
最近使用oss上传文件,不同项目中使用的版本也不同,之前的都能正常上传,最近因需要添加ObjectMetaData属性,扩展了一个方法,发现上传的文件始终是0字节的,最终跟源码发现conntentLe ...
- dalao自动报表邮件2.0
经过昨天的修改优化后,dalao收到了不是“木马”的邮件,欣慰地点了点头,“不错,不错,这几张表设计的简洁明了,看着有货!不过呀,,,这些表的数据太多了一点,十几天的数据一大溜,能不能再简洁一点,做一 ...
- HashMap 和 HashTable 到底哪不同 ?
HashMap 和 HashTable 到底哪不同 ? 2017/05/29 | 分类: 基础技术 | 1 条评论 | 标签: HASHMAP, HASHTABLE 分享到: 原文出处: 程序员赵鑫 ...
- Ubuntu16.04使用Tarball安装ntp
最近在学习linux,看书上例子(鸟哥的linux私房菜 P674),使用Tarball来安装ntp,出了点问题,提示错误,使用 ./configure 来检测程序时,出现如下提示: 提示少了 ope ...