/*
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3067
题意:求胜态到达必败态的方法数
Nim
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;int s[1005];int main(){
#ifndef ONLINE_JUDGEfreopen("in", "r", stdin);
#endifint n;while(scanf("%d", &n), n){int res = 0;for(int i=0; i<n; i++){scanf("%d", &s[i]);res ^= s[i];}if(res){int num = 0;for(int i=0; i<n; i++)if( (res^s[i]) <= s[i])// 要注意(),表示对s[i]的操作可以到达必败态num++;printf("%d\n", num);}elseprintf("0\n");}return 0;
}

求到达必败态的方法数 ZOJ 3067 Nim相关推荐

  1. 寻找必败态——一类博弈问题的快速解法

    博弈是信息学和数学试题中常会出现的一种类型,算法灵活多变是其最大特点,而其中有一类试题更是完全无法用常见的博弈树来进行解答. 寻找必败态即为针对此类试题给出一种解题思路.                ...

  2. 【HDU - 5963】朋友(博弈,思维,必胜态必败态,找规律)

    题干: B君在围观一群男生和一群女生玩游戏,具体来说游戏是这样的: 给出一棵n个节点的树,这棵树的每条边有一个权值,这个权值只可能是0或1. 在一局游戏开始时,会确定一个节点作为根.接下来从女生开始, ...

  3. 牛客多校-Z-Game on grid-(博弈论+必胜态必败态转移)

    M 题意: 就是给你一个n×m的棋盘,每个点要么是A,要么是B,要么是 . .然后机器人刚开始在(1,1)点,Alice先控制机器人走一步,Bob控制机器人走一步.每次只能往右或者下走,不能超过棋盘. ...

  4. 博弈论 - 状态图-推导必胜必败态

    #include <bits/stdc++.h> using namespace std;int w[105][105];void getw(){w[1][1]=0;for(int k=3 ...

  5. SG函数求解 NIM游戏先手必胜必败问题

    NIM游戏: 两人玩家,给定状态之间转移规则,每个人轮流移动,最终得出胜负. 设P为必败点,N为必胜点 精髓: 能到达必败点的所有点都为必胜点,一般解题都是先找到一个必败点,然后由此点推必胜点 有的题 ...

  6. 算法进阶面试题07——求子数组的最大异或和(前缀树)、换钱的方法数(递归改dp最全套路解说)、纸牌博弈、机器人行走问题

    第一题 给定一个数组,求子数组的最大异或和. 一个数组的异或和为,数组中所有的数异或起来的结果. 简单的前缀树应用 暴力方法: 先计算必须以i结尾的子数组的异或和,然后再计算机i+1的,以此类推... ...

  7. “胜兵先胜而后求战,败兵先战而后求胜”—如何通过系统分析师考试

    2007年下半年的系统分析师考试终于以54.53.45的成绩通过了,2月28号我去领取证书的时候偶然发现我的成绩还在2007年下半年系分全国前50名里.从最初的尝试到几经失败后对考试的认真研究,其中我 ...

  8. “胜兵先胜而后求战,败兵先战而后求胜”—系统分析师考试经验谈

    转自-->"胜兵先胜而后求战,败兵先战而后求胜"-系统分析师考试经验谈 2007年下半年的系统分析师考试终于以54.53.45的成绩通过了,2月28号我去领取证书的时候偶然发 ...

  9. 【算法-Java实现】 换钱的方法数(暴力递归法)

    [算法-Java实现] 换钱的方法数(暴力递归法) 文章目录 [算法-Java实现] 换钱的方法数(暴力递归法) 一.问题描述: 二.问题解答: **举例:** **思路:==暴力递归==** 三.算 ...

  10. 【 HDU - 1525 】Euclid's Game(较难找规律,玄学博弈,分析必败点必胜点)

    题干: Two players, Stan and Ollie, play, starting with two natural numbers. Stan, the first player, su ...

最新文章

  1. [Bug]当IDENTITY_INSERT设置为OFF时,不能为表“xx”中的标识列插入显示的值
  2. POJ 3498 March of the Penguins
  3. 旋转图像Python解法
  4. Linux系统下UDP发送和接收广播消息小例子
  5. BestCoder Round #86 1002 HDU 5805 ——NanoApe Loves Sequence
  6. 让你的单细胞数据动起来!|iCellR(二)
  7. OUTLOOK无法解析Exchange通讯录
  8. java复习系列[1] - Java 基础
  9. 基础篇5-python基本数据类型讲解1.1
  10. 跨浏览器的元素的竖直排列
  11. 递归与二叉树_leetcode235
  12. 5.性能之巅 洞悉系统、企业与云计算 --- 应用程序
  13. JS学习总结(12)——Math对象/时间对象
  14. 测试开发工程师成长日记001 - 敏捷测试、CI/CD/CT、DecOps的一些介绍
  15. caj文件添加endnote_endnote怎么导入caj
  16. PCA降维-原理(一)
  17. python批量下载模库网图片
  18. DDK2000与VC6
  19. Java——将一个正整数分解质因数
  20. Apache/.htaccess的Order Allow,Deny 详解

热门文章

  1. qq邮箱sina邮箱服务器拒绝,为什么有的qq邮箱,新浪这边邮不过去呢?
  2. history的使用方法
  3. html 投票系统,投票系统 html页面
  4. 用一年时间如何能掌握 C++ ?
  5. 【Web开发】Python实现Web图表功能(D-Tale入门)
  6. python操作gif 图片拆分
  7. QQ向陌生人聊天的autoit脚本
  8. 聊聊Java中的System类
  9. 一篇文章看明白 Android 从点击应用图标到界面显示的过程
  10. Redis Operator学习笔记