石头游戏1

两个人取一排石头,轮流取,可以取一个,也可以取相邻的两个。如果5被取走了,4和6不算相邻。

假设a先取

1 y

2 y

3 y 先取中间,b只能取一个,所以必胜

4 y 取中间两个,变为3的情况

5 取中间一个,然后b取什么后,a也取对称的,所以必胜

...

所以先取必胜

如果为奇数,取中间的一个,如果是偶数,取中间两个,然后看b取什么,就取对称的。。。

时间: 2024-10-06 22:07:37

石头游戏1的相关文章

【BZOJ2973】石头游戏 矩阵乘法

[BZOJ2973]石头游戏 Description 石头游戏的规则是这样的. 石头游戏在一个n行m列的方格阵上进行.每个格子对应了一个编号在0~9之间的操作序列. 操作序列是一个长度不超过6且循环执行.每秒执行一个字符的字符串.它包括: 数字0~9:拿0~9个石头到该格子. NWSE:把这个格子内所有的石头推到相邻的格子. D:拿走这个格子的石头. 石头游戏的问题是:当这个石头游戏进行了t秒之后,所有方格中最多的格子有多少个石头. 注意:所有格子的操作同时执行. Input 第一行三个整数n,

HDU 1729 Stone Game 石头游戏 (Nim, sg函数)

题意:有n个盒子,每个盒子可以放一定量的石头,盒子中可能已经有了部分石头.假设石头无限,每次可以往任意一个盒子中放石头,可以加的数量不得超过该盒中已有石头数量的平方k^2,即至少放1个,至多放k^2个. 思路:跟常规nim的区别就是加了个限制“每次加的量不超平方”.盒子容量上限是100万,那么就不能直接计算SG了,会超时.sg打表后找规律.根据剩下多少个空位来决定sg值.都是0123456这样子递增的,碰到不能一次加满就变为0,然后继续递增,一直这样. 我的方案是,对于每个盒子大小,找到除了自己

JAVA-小青蛙跳石头游戏

游戏摘自微信传的手机网页版小游戏,我拿来做成了JAVA的界面版,但是没有去做素材,,直接拿方块代替小青蛙.游戏原址就不分享了,只能在手机上打开. 下面是源码: 1 /* 2 * Main.java 3 * */ 4 5 import java.awt.Color; 6 import java.awt.Graphics; 7 import java.awt.event.KeyAdapter; 8 import java.awt.event.KeyEvent; 9 import java.awt.e

BZOJ2973 : 石头游戏

考虑到$lcm(1,2,3,4,5,6)=60$,所以操作序列每60秒一个循环. 将操作表示成转移矩阵的形式,预处理出前60秒的转移矩阵以及它们的乘积$B$. 那么t秒的转移矩阵为前$t\bmod 60$个转移矩阵的乘积乘以$B^{\lfloor\frac{t}{60}\rfloor}$. 用矩阵快速幂加速计算即可. #include<cstdio> #include<cstring> #define rep(i,n) for(int i=0;i<n;i++) #define

取石头游戏

描述 有两堆石子,两个人轮流去取.每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍.最后谁能够把一堆石子取空谁就算赢.  比如初始的时候两堆石子的数目是25和7 25 7 --> 11 7 --> 4 7 --> 4 3 --> 1 3 --> 1 0   选手1取   选手2取   选手1取   选手2取   选手1取 最后选手1(先取的)获胜,在取的过程中选手2都只有唯一的一种取法.  给定初始时石子的数目,如果两个人都采取最优策略,请

nim(2)&quot;拈&quot;游戏分析

来自<编程之美>上的博弈问题. 题目是这样的.有M块石头和两个玩家A和B,玩家A先将石头分成若干堆,然后按照BABA.....的顺序不断轮流取石头,能将剩下的石头一次取光的玩家获胜.每次取石头时,每个玩家只能从若干堆石头任选一堆,取这一堆石头中任意数目(大于0)个石头.请问:玩家A要怎样分配和取石头才能保证自己有把握取胜? 分析与思考:我们可以将这个问题从最简单的情况逐渐复杂化分析,然后从中找出规律,然后再对所得规律加以证明.这样一个过程是分析问题解决问题的一种方式方法. 设N块石头堆,M块石

项目经理的磨练(2) 科学的安排项目日程安排

1. 自上向下式 这种方式是指,从项目的整体时间或者重大的里程碑来倒推各项子任务时间,用各项子任务的完成来支撑整个项目的整理时间.这种方式适用于,对项目完成时间要求很严格的项目,项目团队从结束时间开始倒退,划分重要的大里程碑时间,再在大里程碑中,划分小里程碑,任务包,小任务包.最底层的任务越小,估算越准确. 这种方式可能存在的问题是,如果老板说了这个项目6月1日要完成,但是说到小任务算下来,发现根本不够时间完成.做为项目经理的你打算怎么办?后面的故事应该会对你有所启发. 请记住这个时候千万不要想

管理之道(十) - 你还在崇拜交付速度吗?

故事一.海马的焦虑 小海马有一天做了一个梦,梦见自己拥有了七座金山. 从美梦中醒来,小海马觉得这个梦是一个神秘的启示:它现在全部的财富是七个金币,但总有一天,这七个金币会变成七座金山.于是它毅然决然地离开了自己的家,带着仅有的七个金币,去寻找梦中的七座金山,虽然它并不知道七座金山到底在哪里. 海马是竖着身子游动的,游的很缓慢.它在大海里艰难地游动,心里一直在想:也许那七座金山会突然出现在眼前. 然而金山并没有出现.出现在眼前的是一条鳗鱼.鳗鱼问:“海马兄弟,看你匆匆忙忙的,你干什么去?”海马骄傲

leetcode464- Can I Win- medium

In the "100 game," two players take turns adding, to a running total, any integer from 1..10. The player who first causes the running total to reach or exceed 100 wins. What if we change the game so that players cannot re-use integers? For examp