A: Absolutely Simple---巴什博弈
A: Absolutely Simple
题目描述
Ocean暑假去海边玩,海边有许多好看的贝壳。并且Ocean捡了好多回来。
回来之后,Starry也感觉这些贝壳好漂亮,也想要。这些贝壳虽然都很漂亮,但是每一个贝壳都有自己的美丽度,于是Ocean把这些贝壳按照美丽度从小到大排列了起来,接下来就是和Starry分贝壳了。因为这些贝壳是如此的好看,以至于Ocean和Starry都想拿到最后一个贝壳。所以为了更好的分配,Ocean和Starry决定,按照顺序轮流取贝壳,并且每次可以取m
个以内的贝壳,Ocean先取,也就是说,Ocean先开始取贝壳,并且可以选择取走1,2,3,,,或者是m
个。现在,聪明的你可以判断出来谁可以取走最后一个贝壳吗?,Ocean与Starry都十分的聪明,每次都会采取最优策略。
输入
一个整数T代表有T
组数据(1≤T≤102)
接下来2T
行,
第2∗i−1
行每行两个数字n和 m,n代表总共有n个贝壳,m代表每次最多可以一次性取走m个贝壳(1≤n≤105,1≤m≤106)
第2∗i
行,每行有n个整数x代表每个贝壳的美丽度,数据保证最美丽的贝壳有且只有一个。(1≤x≤106)
输出
输出T
行
对于每组测试数据,若Ocean拿到最后一个贝壳输出Ocean,否则输出Starry
样例输入
1
4 2
2 4 1 1
样例输出
Ocean
提示
大量的输入建议用scanf
在样例中 排序后是1 1 2 4
Ocean第一次取走一个,然后Starry无论取走1个还是2个,Ocean最后都可拿走剩下的所有的所以Ocean一定可以取走最后一个
巴什博弈
eg:
有n个石头,Alice和Bob轮流取石头,每次取的石头不能超过m个,Alice开始取,最后取完的赢,两个人都是以最优的方案取,求最终赢的是谁?
假设n = 12,m = 11。
先手能取1,2,3…10,11这11种情况,剩下石头的有11,10,9…3,2,1 很明显先手不管取哪种情况都比输。
所以先手必输
结论: n % (m+1) == 0 时,先手必输,否则必赢。
#include<iostream>
#include<string.h>
#include<math.h>
#define mx 0x3f3f3f3f
#define ll long long
#define mod 1000000007
using namespace std;
int main()
{
int t,m,n,x;
scanf("%d",&t);
while(t--)
{
cin>>n>>m;
for(int i=;i<n;i++)
scanf("%d",&x);
if(n % (m+) == )
printf("Starry\n");
else
printf("Ocean\n");
}
return ;
}
A: Absolutely Simple---巴什博弈的更多相关文章
- HDU 1846 Brave Game(巴什博弈)
题目链接: 传送门 Brave Game Time Limit: 1000MS Memory Limit: 65536K 题目描述 各位勇敢者要玩的第一个游戏是什么呢?很简单,它是这样定义的: ...
- hdu 1851 尼姆+巴什博弈
先在每堆中进行巴什博弈,然后尼姆 #include<stdio.h> int main() { int T; int i,n; int ans,m,l; scanf("%d&qu ...
- HD1847 Good Luck in CET-4 Everybody!(巴什博弈)
巴什博弈: 一堆物品n个,最多取m个,最少取1个,最后取走的人获胜 分析:只要保证取玩最后剩m+1个,则必定胜利,所以构造m+1,只要n是 m+1的倍数,则先手必败,每次先手取玩,后手可取使得剩下的仍 ...
- hdu 4764 Stone (巴什博弈,披着狼皮的羊,小样,以为换了身皮就不认识啦)
今天(2013/9/28)长春站,最后一场网络赛! 3~5分钟后有队伍率先发现伪装了的签到题(博弈) 思路: 与取石头的巴什博弈对比 题目要求第一个人取数字在[1,k]间的某数x,后手取x加[1,k] ...
- Brave Game(裸的巴什博弈)
Brave Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- NYOJ-2359: 巴什博弈?
2359: 巴什博弈? 时间限制: 1 Sec 内存限制: 30 MB 提交: 263 解决: 55 [提交][状态][讨论版] 题目描述 有n个石子,有两人轮流从中取石子,最少a个最多b个,谁没 ...
- acm--博弈入门1(巴什博弈1)--(HDU 1846 HDU 2049)
一开始听大佬讲巴什博弈,听成巴士博弈,后来知道了巴什博弈的大名,还知道了博弈不止一种.所谓博弈,就是一场心机的对抗. 好巴什,好巴什......(记得有一个广告语是这么来着) 切入正题: 巴什博弈,问 ...
- BZOJ3729Gty的游戏——阶梯博弈+巴什博弈+非旋转treap(平衡树动态维护dfs序)
题目描述 某一天gty在与他的妹子玩游戏.妹子提出一个游戏,给定一棵有根树,每个节点有一些石子,每次可以将不多于L的石子移动到父节点,询问将某个节点的子树中的石子移动到这个节点先手是否有必胜策略.gt ...
- 简单易懂的博弈论讲解(巴什博弈、尼姆博弈、威佐夫博弈、斐波那契博弈、SG定理)
博弈论入门: 巴什博弈: 两个顶尖聪明的人在玩游戏,有一堆$n$个石子,每次每个人能取$[1,m]$个石子,不能拿的人输,请问先手与后手谁必败? 我们分类讨论一下这个问题: 当$n\le m$时,这时 ...
- Bash Game 巴什博弈
巴什博弈(Bash Game,同余理论):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜. 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先 ...
随机推荐
- TensorFlow全新的数据读取方式:Dataset API入门教程
TensorFlow.data : http://tech.ifeng.com/a/20171109/44752505_0.shtml Pytorch:https://ptorch.com/docs/ ...
- SQL 零碎点
1,插入数据后,返回主键ID值: INSERT INTO tablename (name) VALUES (@name);SELECT @@Identity; 使用 SELECT @@Identity ...
- "软掩膜"和“硬掩膜”-智能IC卡
目录 一.“软掩膜”和“硬掩膜”... 2 二.EMV迁移进程... 3 三.PBOC规范和EMV规范对比... 3 四.总结... 5 五.关于SDA和DDA. 6 一.“软掩膜”和“硬掩膜” “软 ...
- java中List的用法和实例详解
java中List的用法和实例详解 List的用法List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供 ...
- C# GDI+绘图介绍
最近查阅网上资料,将GDI+的基本知识汇总如下: 一.基本的知识 GDI+:Graphics Device Interface Plus也就是图形设备接口,提供了各种丰富的图形图像处理功能; 在C#. ...
- Java 栈与堆简介
一.前言 长久以来,一直被Java的内存分配问题,堆和栈问题困扰好久,面试的时候也非常心虚,这几天好好通过看书和技术博客来整理了一下,希望能找到我自己的理解方式. 二.内存 内存分物理内存和虚拟内存, ...
- WCF服务编程 读书笔记——第2章 服务契约
操作重载诸如 C++ 和 C# 等编程语言都支持方法重载,即允许具有相同名称的两个方法可以定义不同的参数.例如,如下的 C# 接口就是有效的定义: interface ICalculator { in ...
- T4模板调用反射
<#@ template debug="false" hostspecific="true" language="C#" #> ...
- 设计模式3---工厂模式(Factory Pattern简单工厂、工厂方法、抽象工厂)
工厂模式:主要用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类.工厂模式的形态工厂模式主要用一下几种形态:1:简单工厂(Simple Factory).2:工厂方法(Factory M ...
- FPGA的时钟质量对设计的影响
小梅哥编写,未经许可严禁用于任何商业用途 近期,一直在调试使用Verilog编写的以太网发送摄像头数据到电脑的工程(以下简称以太网图传).该工程基于今年设计的一款FPGA教学板AC620.AC620上 ...