威佐夫博弈 POJ 1067

详解威佐夫博弈(POJ1067) Wythoff Game Overview 其解决的典型博弈问题是: 给定两堆物体, 两位选手轮流取物, 规定每位选手要么从某一堆中取物, 要么从两堆中同时取相同数量的物体, 至少取一物, 多者不限. 规定最后取完的胜利. 要求判断给定物体数量时, 先手后手的输赢情况. Wythoff给出的结论是: 设两堆物体的数量分别为a, b, 不妨设a⩽ba\leqslant ba⩽b, 若 ⌊1+52(b−a)⌋=a \lfloor \frac{1 +\sqrt{5}}{2} (b-a) \rfloor = a ⌊ 阅读详情

如果xy中较小的数等于xy的差值乘黄金分割比的话说先手必败
否则先手必胜


代码如下:

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
int a,b;
signed main(void){
    double k=(sqrt(5.0)+1.0)/2.0;//黄金分割比 
    while(scanf("%d%d",&a,&b)!=EOF){
        if(min(a,b)==(int)(abs(a-b)*k))
            cout<<0<<endl;
        else
            cout<<1<<endl;
    }
    return 0;
}

by >o< neighthorn

poj1067 威佐夫博弈模板 取石子游戏 1185 威佐夫游戏 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,问最后谁能赢得比赛。 例 阅读详情

相关推荐

STM32F103C8T6最小系统板GPIO配置避坑指南:从原理图到流水灯一次成功

本文详细介绍了STM32F103C8T6最小系统板GPIO配置的实战指南,从硬件准备到流水灯实现,涵盖了九大关键步骤。特别针对新手常见问题,如GPIO配置、开发环境搭建和程序下载调试,提供了详细的解决方案和避坑技巧,帮助开发者快速掌握STM32开发基础。

weixin_33756596的博客 339

POJ 1067 取石子游戏(威佐夫博弈)

题目链接: POJ 1067 取石子游戏 题意: 有两堆石子各有a,ba,b个,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。判断先手是胜者还是负者。 数据范围;a,b≤109a,b\leq 10^9 分析; 威佐夫博弈(Wythoff Game)。 我们用 (ak,bk),ak≤bk,k=0,1,2,…,n(a_k,b_k),a_k\l

ramay7 736

ubuntu18.04安装Nvidia显卡驱动后黑屏及网络、蓝牙驱动消失的解决方案

ubuntu18.04安装Nvidia显卡驱动后黑屏及网络、蓝牙驱动消失的解决方案

weixin_40735291的博客 6617

POJ-1067 取石子游戏(威佐夫博弈)

直接是:威佐夫博弈。 这个过于繁琐,只能运用现成的结论。 设奇异局势(必败局势)为(a[i],b[i]),则有a[0]=b[0]=0;a[k]=前面未出现的最小自然数,b[k]=a[k]+k 具体求解公式:a[k]=k∗1+5√2,b[k]=a[k]+k=k∗3+5√2 奇异局势的性质: 1.任何自然数包含在且仅包含在一个奇异局势中 a[k]>a[k−1],b[k]=a[k]+k>a[k−1]+k−1=b[

idealism_xxm的专栏 1946

从零到英雄:如何用FPGA和AD9288打造你的第一台便携式示波器

本文详细介绍了如何利用FPGA和AD9288 ADC芯片从零开始打造一台高性能便携式示波器。通过硬件架构设计、高速数据采集系统实现及信号处理与显示系统的开发,读者可以掌握400Msps采样率的实现方法,并了解关键器件选型与系统优化技巧。

jjj34的博客 277

RingBuffer 环形缓冲区----镜像指示位

称作环形缓冲区,也称作环形队列(circular queue),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。这个宏定义用于计算向下对齐的地址。size和align。size是要对齐的内存大小,align是所需的对齐大小。这个宏返回一个值,该值是size向下对齐到align边界后的地址。例如,假设我们有一个 32 位的系统,并且我们需要将数据对齐到 64 位的边界。我们可以使用在这个例子中,data数组的大小为 10 个元素,我们需要将其对齐到 8 字节边界。宏返回data。

呵呵哒!的博客 2405

POJ.1067 取石子游戏 (博弈论 威佐夫博弈)

POJ.1067 取石子游戏 (博弈论 威佐夫博弈)题意分析简单的威佐夫博弈 博弈论快速入门代码总览#include <cstdio> #include <cmath> #include <algorithm> using namespace std;int main() { int n,m; while(scanf("%d %d",&n,&m) != EOF){

Pengwill's Blog 410

对称加密和非对称加密、公钥和私钥、单向认证和双向认证、数字签名、数字证书、根证书

文章目录1. 什么是公钥和私钥?2. 加密算法2.1 对称加密2.2 非对称加密2.2.1 非对称加密的重要性质2.2.2 非对称加密算法应用2.2.2.1 应用1 加密通信2.2.2.1.1 单向认证和双向认证2.2.2.1 应用2 数字签名3. 数字签名3.1 数字签名用法演示3.2 数字签名存在问题4. 数字证书(Digital Certificate)4.1 创建数字证书4.1.1 举例,CA如何给我们签发一个有效证书: 1. 什么是公钥和私钥? 摘自《什么是公钥和私钥?》 公钥(Public Ke

m0_45406092的博客 1万+

博弈论之威佐夫博弈篇(poj1067)

博弈论之威佐夫博弈篇(poj1067) (简单看了一下poj上的通过率和内容之后选了这道题做,毕竟是为了练习Java?就不要选太复杂的了,手动狗头。) 博弈论 鉴于水平有限,就不给大家放一些概念性的东西了,可以自己百度。我理解的博弈论就是两个人之间进行公平对决都采用最优策略轮流对抗,直到分出胜负。 威佐夫博弈 有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每...

qq_43287656的博客 583

扫地机器人全场景测试实战:从实验室到真实家庭的可靠性验证

本文深入探讨了扫地机器人从实验室到真实家庭的全场景测试方法,揭示了软硬件测试中的关键挑战。通过分析场景化测试的重要性,文章详细介绍了硬件耐久性、软件稳定性和环境适应性三大测试维度,并提供了真实家庭测试的实用方法论。消费者可重点关注清洁率、覆盖率等核心指标,同时了解测试工程师的私房建议,帮助选择更可靠的扫地机器人产品。

hhh00的博客 1075

常用的数据结构以及常用的算法

常用的数据结构以及常用的算法 常用数据结构 数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。 数据结构往往同高效的检索算法和索引技术有关。 一、线性表 线性结构: 最常用、最简单的一种数据结构。 线性表: 典型的线性结构。基本特点是线性表中的 数据元素有序且有限。结构中: ① 存在一个唯一的被称为“第一个”的数据元素; ② 存在一个唯一的被称为“最后一个”的数据元素; ③ 除第一个元素外,每

qq_47605698的博客 1446

poj1067(威佐夫博弈)

Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 32243   Accepted: 10673 Description 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石

晓风残月xj 1013

word多级列表为什么会变成黑块解决思路

今天在写文档时,发现WORD5级的标题都变黑块了,找了度娘的资料,终于解决了。 第一种 1、光标bai放在黑快的右边,按向左的箭头,然后ctrl+shift+s,点击重新应用。 2、点击“定义新的多级列表”(不知道从哪儿找这个按钮的百度下),直接点确定。 3、这里很重要!!!不要直接保存,而是直接关掉word,会提示保存还是不保存,这个地方再点击保存。 第二种 Word2016 使用宏代码修复方法 1.找到视图-宏,打开 查看宏 2.创建宏 3.贴...

霍力强的专栏 8580

poj1067——威佐夫博弈

题目链接:poj.org/problem?id=1067 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。 Input 输入包含若干行,表示若干种...

mumei的博客 217

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

poj1067 取石子游戏 威佐夫博弈

有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。输入a,b,获胜输出1/失败输出0。

its_a_win的博客 238

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

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

威佐夫博弈(POJ 1067)

定义先手必输的局势为奇异局势,前几个奇异局势为(0,0),(1,2),(3,5),(4,7),(6,10)… 假设(x,y)为第k个奇异局势 1.任何操作都会将奇异局势变为非奇异局势 2.可以采取适当的方法将非奇异局势变为奇异局势 人们通过对上述性质的探索,同时结合Betty定理,给出了威佐夫博弈的重要结论: 设两堆石子为(x,y)(其中x<y) 那么先手必败,当且仅当 (y−x)∗(5√+...

weixin_43221749的博客 180

jre9下载 jdk9

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

威佐夫博弈 poj 1067

 威佐夫博弈(Wythoff Game):有两堆各若干的物品,两人轮流从其中一堆取至少一件物品,至多不限,或从两堆中同时取相同件物品,规定最后取完者胜利。直接说结论了,若两堆物品的初始值为(x,y),且x&lt;y,则另z=y-x;记w=(int)[((sqrt(5)+1)/2)*z  ];若w=x,则先手必败,否则先手必胜。#include&lt;bits/stdc++.h&gt; using ...

Ostrichcrab的博客 170

威佐夫博弈_poj1067

威佐夫博弈:有两堆数量各若干的物品,两个人轮流从某一堆或同时从两堆中取得同样多的物品,规定每次至少取一个,多者不限,最后取尽物品的一方赢。 对抗策略: 假设两堆的数量分别是a和b,将a、b中较大的数赋值给b,较小的数赋值给a。若a =[(b-a)*(1-√5)/2],则先走的输。 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆

acm_JL的博客 596

POJ 1067 威佐夫博弈

链接: http://poj.org/problem?id=1067 题意: 威佐夫博弈(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 题解: 威佐夫博弈(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,...

花海 123

POJ1067 威佐夫博弈

威佐夫博弈

qq_39531685的博客 233

poj1067威佐夫博弈

#include #include #include #include #include #include #include #include #include using namespace std; #define INF 1000000000 #define maxn #define rep(i,x,y) for(int i=x;i<=y;i++) #define mset(x) memse

413

POJ - 1067 取石子游戏 【威佐夫博弈】

Description 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。 Input 输入包含若干行,表示若干种石子的初始情况,其中每一行包...

一定要站在自己热爱的生活里闪闪发光 3万+

POJ 1067——威佐夫博弈

题目: Description 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。 Input 输入包含若干行,表示若干种石子的初始情...

weixin_30273931的博客 122

POJ1067(威佐夫博弈)

POJ1067(威佐夫博弈)

Ema1997的博客 550
上一篇: 博弈论 Nim游戏与SG函数
下一篇: 对称博弈 POJ 2484
NeighThorn
博客等级 码龄11年 20粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值