题目的意思就不说了,典型的取石子的博弈问题。

题目的前半部分就是赤果果的SG函数值异或就可以了,其中Sg函数值就是石子数本身。

但是接下来有个小变换,就是要你输出先手必胜有多少种不同的取法。

首先要想保持必胜,必须要取完以后保证所有的石子数异或值为0.

这样,假设我们来判断某一堆是否可取的时候,我们可以用总的异或值来与当前堆石子数异或一下,就得出当前堆应该剩下多少石子哦(仔细理解这里就好了)

下面可以贴代码了:

 #include <iostream>
#include <cstdio>
using namespace std; int a[],n,m,ans; int main()
{
while (scanf("%d",&n) && n)
{
ans=m=;
for (int i=; i<=n; i++) scanf("%d",&a[i]),m^=a[i];
if (m==)
{
printf("0\n");
continue;
}
for (int i=; i<=n; i++)
if ((a[i]^m)<a[i]) ans++;//一开始的时候我的判断条件是<=,居然也对了,诶数据略水,这里必须是严格的小于。
printf("%d\n",ans);
}
return ;
}

ZOJ3067_Nim的更多相关文章

随机推荐

  1. 20155233 2006-2007-2 《Java程序设计》第3周学习总结

    20155233 2006-2007-2 <Java程序设计>第3周学习总结 教材学习内容总结 第四.五章主要学习Java如何产生对象,包括如何去定义一个类,如何去构造函数实现对象初始化流 ...

  2. 20155306 实验四 Android程序设计

    20155306 实验四 Android程序设计 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3.掌握An ...

  3. 优步uber司机不能绑定银行卡问题

    很多新加入的优步车主都发现现在不能绑定银行卡,不能绑定就收不到车费呀!现在优步公司给出的绑定地址是:http://ubercd.sojump.com/jq/4853671.aspx 但是提交后没有反映 ...

  4. ElasticSearch 聚合查询百分比

    这里用的是es5.6.9 bucket_script :它执行一个脚本,该脚本可以对多桶聚合中的指定度量执行每桶计算,指定的度量标准必须为数字,并且脚本必须返回数值. 官方语法 https://www ...

  5. [.NET] 使用HttpClient操作HFS (HTTP File Server)

    前言 本篇文章介绍如何使用HttpClient操作HFS (HTTP File Server),为自己留个纪录也希望能帮助到有需要的开发人员.关于HTTP File Server的介绍.安装.设定,可 ...

  6. The filename 未命名.ipa in the package contains an invalid character(s). The valid characters are: A-Z, a-z, 0-9, dash, period, underscore, but the name cannot start with a dash, period, or underscore

    The filename 未命名.ipa in the package contains an invalid character(s).  The valid characters are: A-Z ...

  7. VirtualBox主机和虚拟机互相通信

    默认情况下VirtualBox虚拟机网络设置为网络地址转换,虚拟机中的地址一般是10.0.2.x,虚拟机中访问主机只需要访问默认网关地址即可,但是主机访问虚拟机就需要增加一些配置了,方法有以下几种: ...

  8. Centos下安装并设置nginx开机自启动

    一.在centos环境下安装下载并安装nginx,由于nginx需要依赖一些环境才能安装,主要依赖g++.gcc.openssl-devel.pcre-devel和zlib-devel这些环境,首先得 ...

  9. 如何选择合适的Qt5版本?

    注意:这里讨论的是在不编译Qt源码的情况下,推荐下载的官方编译版本. 支持XP SP3以及之后的Windows版本:推荐 Qt5.6 或 Qt5.9,这两个版本是LTS版本(即长期支持版本),Bug较 ...

  10. 无法找到 ContextLoaderListener 类

    问题:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 原因:Eclips ...