poj 2234 博弈论Nim取子游戏

【转】博弈论--取物品和Nim游戏 感慨数学归纳法真强大! 郗博的文章写得真好,情不自禁的就转过来了。 PS:今天晚上在实验室研究这些东西的时候用手抓到两只蚊子,并且好像都残了,前进的路上总是沾满了XX。。。 分为三个部分,第一部分是简单版的甲乙两人取物品,第二部分是博弈论中经典的模型--Nim游戏,最后是关于Nim游戏的介绍和Bouton's Theorem。 第一部分:简单版的甲乙两人取物品 前序 先来看 阅读详情

题意:Nim取子:给定N堆石子,其中第i堆有Pi颗石子。每次从某一堆里选出若干石子去掉,可以去掉这一堆中的全部石子,但不能不去。两人轮流操作,不能继续取的那一方算作输。若先手必胜,输出Yes,否则输出No

思路:所有石子数量的异或不为0,先取者必胜,反之亦然。操作准则是使得石子数量异或成为0。方法为:设石子中数量最多的堆有A个石子,异或和为S,则从A中去掉A-S^A个石子。

输入:

2 45 45
3 3 6 9

输出:

No

Yes

#include <stdio.h>
int n;
int main(){
	freopen("a.txt","r",stdin);
	while(scanf("%d",&n)!=EOF){
		int s,res=0;
		while(n--){
			scanf("%d",&s);
			res ^= s;
		}
		if(res)
			printf("Yes\n");
		else
			printf("No\n");
	}
	return 0;
}


博弈论经典问题Nim问题 <br /> <br />博弈论经典问题,Nim游戏是一个典型的组合游戏问题,很多游戏问题都可以规约到Nim游戏问题。Nim游戏问题是一个ICG(Impartial Combinatorial Games)问题;<br />ICG问题的特征是:<br />1.两个人参与,交替走棋;<br />2.可能的走法在一个有限的集合里选取;<br />3.游戏局面无后效性,未来与过去无关;<br />4.如果某选手无法走动,则判负;<br />Nim的理论<br />游戏状态只分两种:当前先手必胜,当前先手必败;前者 阅读详情

相关推荐

组合数学取子游戏nim

Nim is a 2-player game featuring several piles of stones. Players alternate turns, and on his/her turn, a player’s move consists of removing one or more stones from any single pile. Play ends when all the stones have been removed, at which point the last player to have moved is declared the winner. Given a position in Nim, your task is to determine how many winning moves there are in that position. 组合数学取子游戏代码实现。

Nim取子游戏

Nim取子游戏属于“Impartial Combinatorial Games” 有若干堆石子N1,N2…,双方交替在堆中取子,取子数n∈[1,Ni]。 此游戏对于不同的石子情况下,先手和后手有对应的必胜策略。 首先定义游戏的平衡态 ⑴,将每一堆石子数二进制展开 Ni=Ait Ai(t-1)…..Ai1 i=1.2….k; 若各位的第i位的和为偶数,则称之为平衡态。 一个游戏处于平

jinyi763776890的博客 1366

COMSOL多物理场仿真:瓷绝缘子电热耦合建模与优化策略

本文详细介绍了使用COMSOL Multiphysics进行瓷绝缘子电热耦合仿真的完整流程与优化策略。文章阐述了电热耦合效应的工程意义,并逐步讲解了从几何建模、材料定义、物理场设置到边界条件与网格划分的关键步骤。重点分析了如何通过焦耳热耦合实现电场与温度场的双向交互,以及如何利用仿真结果进行参数化优化和瞬态故障模拟,为提升电力设备可靠性提供有效的数字化设计工具。

n8m7b6v5c4的博客 884

Nim取子游戏 (SG函数)

Nim游戏(转载)Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论Nim游戏是组合游戏(Combinatorial Games)的一种,准确来说,属于“Impartial Combinatorial Games”(以下简称ICG)。满足以下条件的游戏是ICG(可能不太严谨):1、有两名选手;2、两名选手交替对游戏进行移动(move),每次一步,选手可以在(一般而言...

Sinhaeng_Hhjian 995

弹簧管压力表设计报告

精密机械课程设计 弹簧管压力表设计报告 2020年5月1日 目 录 第一章 设计任务概述... 3 1.1 课程设计目的... 3 1.2 设计任务... 3 1.3 技术指标... 3 第二章 压力表概述... 4 2.1 机械式压力表的组成部分... 4 2.2 工作原理... 4 第三章 压力表设计... 5 3.1 弹簧管参数设计... 5 3.2 曲柄滑块机构设计... ...

weixin_42163746的博客 6452

静止无功补偿SVG的基本控制原理

上图是自励单变量控制框图,基本控制方式为,采集计算得到负载无功电流和SVG输出的无功电流的差值,经过PI调节作为功率角δ和固定的调制深度λ和调制波,经过PWM调制形成开关信号驱动SVG的功率电路。该控制方式使保持调制深度λ(即SVG电压的幅度)不变,通过调整δ来调整直流电压和无功,跟踪输出无功功率,直流电压就会大幅度随动,无功相应速度较慢。SVG通常有他励方式和自励方式,他励方式需要提供外部的直流电源,自励方式通过电网输出有功功率至SVG建立SVG的直流电压。δ为Us和Uc之间的相角差。

weixin_42668920的博客 1991

组合数学——Nim取子游戏

Nim取子游戏是由两个人面对若干堆硬币(或石子)进行的游戏。设有k>=1堆硬币,各堆分别含有N1,N2,……NK枚硬币。游戏的目的就是选择最后剩下的硬币。游戏法则如下:1.两个游戏人交替进行游戏(游戏人I和游戏人II);2.当轮到每个游戏人取子时,选择这些堆中的一堆,并从所选的堆中取走至少一枚硬币(游戏人可以取走他所选堆中的全部硬币);3.当所有的堆都变成空堆时,最后取子的游戏人即为胜

王来安的专栏 8711

NFS服务器配置与autofs自动挂载

NFS服务器配置autofs自动挂载 环境: hostname ip OS server 192.168.220.138 centos7 client 192.168.220.139 centos7 一、NFS概述 NFS(Network File System)网络文件系统。最大功能就是通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 二、端口 [root@se...

DoloresOOO的博客 1026

(转载)Nim游戏博弈(收集完全版)

Nim游戏的概述: 还记得这个游戏吗? 给出n列珍珠,两人轮流取珍珠,每次在某一列中取至少1颗珍珠,但不能在两列中取。最后拿光珍珠的人输。 后来,在一份资料上看到,这种游戏称为“拈(Nim)”。据说,它源自中国,经由被贩卖到美洲的奴工们外传。辛苦的工人们,在工作闲暇之余,用石头玩游戏以排遣寂寞。后来流传到高级人士,则用便士(Pennies),在酒吧柜台上玩。 最有名的玩法,是把十二枚便

lethic的专栏 3711

Ubuntu20.04安装Ceres库

ceres真难安装。

little_white138的博客 8380

基于STM32XX的LCD液晶显示屏(HS19264G06A、驱动芯片:ST7525)驱动C程序设计

define USE_HW_SPI 1 // 1:使用硬件SPI, 0:使用软件模拟SPI。

myron6688的博客 235

Nim游戏

经典博弈论模型nim游戏的母题 状态分析 首先抛出结论:当ai的异或和等于0时,是必输状态,否则为必胜状态 简单证明: 1.已知最终状态所有的a[i]都等于零,异或和s等于0,,显然为必输状态。 2.当异或和为0,任意操作会使异或和不为0。 3.故若某个异或和为0,不可能使下一步达到最终状态,因为最终状态异或和为0。既然不可能使下一步为最终状态,也就说明不可能使另一个人无路可走,也即己方的必败状态。 4.显然在nim游戏中非必败即必胜,则补集异或和等于零为必...

bscxl的博客 461

学Simulink--基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模示例

本文详细介绍了基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模方法。首先分析了UKF相比EKF在强非线性场景下的优势,包括无线性化误差、计算效率高和鲁棒性强等特点。接着阐述了UKF的核心原理,重点讲解了无迹变换(UT)的三个关键步骤:Sigma点生成、非线性传播和加权统计重构。文章还详细说明了二维机动目标的状态向量定义、非线性状态转移模型和雷达观测模型。 在Simulink实现部分,提供了完整的建模步骤和核心代码,包括目标运动模型、雷达传感器模型和UKF算法模块的实现。通过蛇形机动场景的仿真实

xiaoheshang_123的博客 89

POJ 2234 博弈论 nim游戏

博弈论 nim游戏 Nim取子游戏是由两个人面对若干堆硬币(或石子)进行的游戏。设有k>=1堆硬币,各堆分别含有枚硬币。游戏的目的就是选择最后剩下的硬币。游戏法则如下: 1.两个游戏人交替进行游戏(游戏人I和游戏人II); 2.当轮到每个游戏人取子时,选择这些堆中的一堆,并从所选的堆中取走至少一枚硬币(游戏人可以取走他所选堆中的全部硬币); 3.当所有的堆都变成空堆时,最后取子的游戏人即为胜者。 定义P-position和N-position,其中P代表Previous,N代表Next.

dragonzlcsu的博客 381

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

POJ 2234: NIM博弈

POJ 2234: Matches Game

十飏 de FATMOUSE. 495

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

POJ 博弈论

poj1704 Georgia and Bob 题目链接:http://poj.org/problem?id=1704 题意:如图所示,两个人在玩一个游戏,排成直线的格子上有n个棋子,两人依次将棋子向左移动可以移动任意格子,但是不能超过前面的棋子,也不允许将两个棋子放在同一个格子里面,无法进行移动的一方失败,问对于某个状态先手是否能赢。 分析:若n为偶数,则将棋子两两分为一组,转化为Ni...

weixin_30343157的博客 215

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

POJ 2234 Matches Game(博弈)

http://poj.org/problem?id=2234 裸的NIM //package acm.poj2234; import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new

Must so 443

【博弈 —— NIM模型】

POJ2234 Matches Game 题意:nnn堆石子,每次任选一堆选取任意个,不能选者输。 思路:经典NIMNIMNIM模型,石子个数异或和为000,则先手必败,否则先手胜。此处的异或和为000,是用归纳法进行证明的,不单只适用于NIMNIMNIM问题,还在SGSGSG函数中应用广泛,感兴趣可以自行查阅。 代码: #include <cstdio> #include <i...

lucius-liu.cn 693

POJ-2234:Matches Game

时间限制:  1000ms  内存限制:  65536kB 描述 Here is a simple game. In this game, there are several piles of matches and two players. The two player play in turn. In each turn, one can choose a pile and

精灵的博客 5758

[poj2234]Matces Game_博弈论

Matches Game poj-2234 题目大意:n堆石子的Nim游戏,anti-SG。 注释:$1\le n\le 20$。 想法:用Colon定理即可。具体见:小约翰的游戏 最后,附上丑陋的代码... ... #include <iostream> #include <cstdio> #include <cstring> ...

dianan0938的博客 121

POJ 2234 Matches Game

Matches Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9012   Accepted: 5214 Description Here is a simple game. In this game, there are several piles o

弱者要战斗 616

POJ2234:Matches Game(Nim博弈)

Matches Game Time Limit:1000MS Memory Limit:65536K Total Submissions:12325 Accepted:7184 题目链接:http://poj.org/problem?id=2234 Description: Here is a simple game. I...

dft539533的博客 149

poj2234 Matches Game

链接:http://poj.org/problem?id=2234 Nim游戏。博弈论。 第一次碰到,根本不知道是什么。 我就是套用了一下结论。。。额 转载了一篇关于Nim游戏的文章,看了一下,也不是很清楚。要多看吧。   /* Nim游戏问题——博弈论 我只是套用了结论。 a1^a2^....^an=1,则先下手必胜 */ #include int

u012914220的专栏 383

[poj2234]Matches Game nim游戏

弱弱弱

Unlimited Code Works 380

POJ 2234 Matches Game (nim博弈裸题)

题目链接:http://poj.org/problem?id=2234 博弈论这一节的题目其实不太好写博客的,因为sg函数也不太会,只能做一些裸题,或者稍微变形的题目。但是nim博弈确实很神奇,拆分成二进制,然后只要能两两消去,那么后手肯定必胜。就是所谓的异或运算了,网上nim博弈很多,就不罗嗦了。 #include #include #include using namespace std;

Algobird 482
上一篇: poj 2396 有下界的最大流(填充矩阵)
下一篇: poj 1704 Nim取子变形(一路向左)
dumeichen
博客等级 码龄13年 55粉丝 475原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值