题目:http://acm.hdu.edu.cn/showproblem.php?pid=3389


题意:1-N带编号的盒子,当编号满足A>B && A非空 && (A + B) % 3 == 0 && (A + B) % 2 == 1则可以从A中取任

意石头到B中,谁不能取了谁就输。


分析: 其本质为阶梯博弈。

  

阶梯博弈:博弈在一列阶梯上进行,每个阶梯上放着自然数个点,两个人进行阶梯博弈,每一步则是将一个集体上的若干个点

( >=1 )移到前面去,最后没有点可以移动的人输。


在本题中 1,3,4 的状态不能转移到其他状态; 其他每个状态皆可转移; 且位置特定, 如  2->1 , 5->4, 6->3, 7->2

, 8->1 9->6.....


其本质我们有N级阶梯,现在要在 %3 的余数间转移, 0->0, 1->2, 2->1; 其最后的结果为1, 3, 4; 那么他们的转移

的步数的奇偶性也会确定,我们只要选择步数为奇数的位置做nim博弈就行了;而可以通过打表归纳证明得出模6为0、2、5

的位置移动步数为奇,其余为偶。

#include <iostream>
#include <string.h>
#include <stdio.h>using namespace std;int main()
{int T,tt=1;int n;scanf("%d",&T);while(T--){scanf("%d",&n);int ans = 0;for(int i=1;i<=n;i++){int x;scanf("%d",&x);if(i%6==0 || i%6==2 || i%6==5)ans ^= x;}printf("Case %d: ",tt++);if(ans) puts("Alice");else puts("Bob");}return 0;
}

HDU3389(阶梯博弈)相关推荐

  1. P5363-[SDOI2019]移动金币【阶梯博弈,dp,组合数学】

    正题 题目链接:https://www.luogu.com.cn/problem/P5363 题目大意 1×n1\times n1×n的网格上有mmm个硬币,两个人轮流向前移动一个硬币但是不能超过前一 ...

  2. P3480-[POI2009]KAM-Pebbles【阶梯博弈】

    正题 题目链接:https://www.luogu.com.cn/problem/P3480 题目大意 nnn个石头堆上进行Nim\text{Nim}Nim游戏,不过需要满足每次操作前后都有ai≤ai ...

  3. poj 1704 HDU-4315 阶梯博弈

    本博文只提供思路,不提供代码,需要代码的同学请访问他人博文 n个石子,每个石子占有一个位置,不超过前面石子的前提下可以向前挪任意格,最先把石子全挪出去的获胜 阶梯博弈详解https://blog.cs ...

  4. 阶梯博弈(尼姆博奕进阶)

    n个阶梯(编号1~n),每个阶梯上有ni个石子,从第 i+1 个阶梯可以拿若干个石子到第 i 个阶梯上,第 1 个阶梯可以拿到地面(可以看作第 0 个阶梯,或者你也可以叫它基层),无法执行操作(石子全 ...

  5. 阶梯博弈(Staircase Nim)

    阶梯博弈!!!下面阐述一下我对于阶梯博弈的理解..   首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( & ...

  6. 我谈阶梯博弈( Staircase Nim )

    今天在POJ做了一道博弈题..进而了解到了阶梯博弈...下面阐述一下我对于阶梯博弈的理解.. 首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈... ...

  7. 我谈阶梯博弈(Staircase Nim)

    今天在POJ做了一道博弈题..进而了解到了阶梯博弈...下面阐述一下我对于阶梯博弈的理解..   首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈. ...

  8. 博弈论(阶梯博弈)POJ 1704

    对阶梯博弈的阐述:博弈在一列阶梯上进行,每个阶梯上放着自然数个点.两个人进行阶梯博弈,每一步则是将一个集体上的若干个点( >=1 )移到前面去,最后没有点可以移动的人输 证明方式:如这就是一个阶 ...

  9. 趣味博弈论 -- 阶梯博弈

    前言 阶梯博弈是一种nim游戏的变类, 它的主要思想是对奇数阶梯进行nim游戏. 介绍 什么是阶梯博弈?就是给你一个阶梯, 这个阶梯每一级上有一堆石子, 你可以每次选择某一级, 将这一级上的一些石子推 ...

最新文章

  1. 同步SQL Server 2000 数据库
  2. mysql 乐观锁 version_乐观锁-version的使用
  3. powershell 下独立silent 安装 浏览器问题
  4. 公布自己的pods到CocoaPods trunk 及问题记录
  5. 安全:incaseformat蠕虫病毒来袭,你中招了吗?
  6. 一步步创建 边栏 Gadget(二)
  7. 通过Dapr实现一个简单的基于.net的微服务电商系统
  8. word公式编辑器_【Word技巧】word使用终极技巧,工程人必会(四)
  9. 后缀用什么打开_茅台酒瓶口的珠子有什么用,取出来能多倒一杯酒?打开方法教给你...
  10. pymysql连接mysql数据库try_pymysql 连接数据库和基本使用
  11. 小雪节气艺术字体设计PNG素材 | 希望可以温暖到你了
  12. LFS安装过程记录(1)-准备工作
  13. java方法重载和重载方法_Java中的重载与重载
  14. 小米路由器 网站服务器地址,小米路由器设置网址
  15. 有源光网络VS无源光网络
  16. web前端开发面试题(五)
  17. mysql oob_随机森林之oob error 估计
  18. [转] 快速掌握一个语言最常用的50%
  19. 基于R语言的层次聚类分析-【案例实操】-基本操作,一看就会
  20. 指针地址左移右移的代码实例

热门文章

  1. Redis中的Sentinel 验证
  2. SpringMVC的请求-文件上传-客户端表单实现
  3. 数据库-优化-MYSQL数据库设计规范
  4. c语言怎么让两个函数同时进行_Excel高级筛选怎么用同时满足多个条件进行筛选...
  5. 方法重载(overload)和方法重写(override)的比较
  6. mysql命令导出表结构文件夹_mysql,命令导入\导出表结构或数据
  7. xcode 不能读取键盘输入的汉字_C++:cin从控制台读取数据时的结束符
  8. Ubuntu安装vscode步骤
  9. 电路上的ESR是什么意思?
  10. golang日期时间格式format()