ZOJ2083_Win the Game
这个题目很有趣,有博弈知识,又有一点智商题的感觉。
题意为给你一段长为n的的线段。
两个游戏者轮流在一段长为2,未被染色的线段上涂色。
无法涂色的游戏者输。
题目有点灵活。关键在于怎么得到Sg函数值呢?
其实是这样的,对于一个长度为n的线段,我们枚举中间可能的连续的两个单位长度进行染色,然后判断是否存在一种染色使得染色后的状态为必败态就可以了。
不过要注意哦,染色后,原来的一段会变为两端(如果染色在端点,可以视其中一段为0),这样接下来的两端就需要分别染色了,所以根据博弈论的只是我们就知道,接下来的Sg函数值就是这两个长度所对应的Sg函数值的异或哦。然后用传统的Sg函数的Mex求法就可以了。
#include <iostream>
#include <cstdio>
#include <cstring>
#define maxn 55
using namespace std; int f[maxn],n,m,k;
bool b[maxn]; void getF()
{
f[]=;
f[]=f[]=;
for (int i=; i<maxn; i++)
{
memset(b,false,sizeof b);
for (int j=; j<=i-; j++)
{
b[f[j-]^f[i-j-]]=true;
}
for (int j=; ;j++)
if (!b[j])
{
f[i]=j;
break;
}
}
} int main()
{
getF();
while (scanf("%d",&n)!=EOF)
{
m=;
while (n--) scanf("%d",&k),m^=f[k];
if (m) printf("Yes\n");
else printf("No\n");
}
return ;
}
ZOJ2083_Win the Game的更多相关文章
随机推荐
- 20155233 《Java程序设计》 实验二 Java面向对象程序设计
20155233 <Java程序设计> 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L ...
- 20155234 2016-2017-2 《Java程序设计》第2周学习总结
20155234 2006-2007-2 <Java程序设计>第2周学习总结 教材学习内容总结 %%:表示字符串中的%. %d:以十进制整数格式输出 %f:以十进制浮点式格式输出 %e(% ...
- 虚拟机安装&Linux初探
学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统 安装虚拟机的过程还算顺利.除了在安装增强设备功能时需要将之前的硬盘弹出之外,没有遇到其他的问题. 通过实 ...
- 20145234黄斐《java程序设计基础》第一周
教材学习内容总结 1.java是SUN公司推出的面相网络的编程语言,当时取名Oak,后改名Java. 2.Java三大平台分别为:Java SE.Java EE与Java ME. 3.Java不仅是程 ...
- Spring SimpleJdbcOperations 批量更新
1.控制台代码 import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowM ...
- 【LG3238】 [HNOI2014]道路堵塞
题目描述 给你一张\(N\)个点.\(M\)条边的有向图,按顺序给定你一条有\(L\)条边的\(1\rightarrow n\)的最短路, 每次断掉这\(L\)条边中的一条(不对后面答案产生影响),求 ...
- 第一篇:一天学会MongoDB数据库之Python操作
本文仅仅学习使用,转自:https://www.cnblogs.com/suoning/p/6759367.html#3682005 里面新增了如果用用Python代码进行增删改查 什么是MongoD ...
- oracle的分号和斜杠/
;是执行语句必须的/是执行语句块必须的 比如执行一个触发器 CREATE OR REPLACE TRIGGER "TRG_1" BEFORE INSERT ON "CAT ...
- LeeCode_01_Two sum
Two Sum Given an array of integers, return indices of the two numbers such that they add up to a spe ...
- MySQL高性能优化实战总结
1.1 前言 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多 ...