问题描述: 你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例: 方法: 分析:剩四个只要对方先拿,自己 ...
分类:
其他好文 时间:
2018-09-25 20:37:30
阅读次数:
161
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。 划水题,偷个懒 ...
分类:
其他好文 时间:
2018-09-23 15:09:46
阅读次数:
155
黑暗降临 夜空再一次降临在人们的视线中 繁星点点 是那么的美丽 当一颗流星夜空又添了一道美丽的景色 不过它消失的是那么快 它匆匆的来又匆匆地走 没留下一丝痕迹 但它确实来过 我常常在想 人生不就如此吗?虽然现在正值青春 可也有走的一天 我不知道我来这 不见了当年朗然自若的少年,心里不疼不痒竟是一阵阵 ...
分类:
数据库 时间:
2018-09-23 11:46:16
阅读次数:
203
我司自2014年11月份开始引入容器到现在为止,一直在DevOps的路上不断地探索中,在这期间业界也没有出现一套标准的开源工具集可以借鉴,因此我们只能摸着石头过河。文中为我司的一些经验分享。 ...
分类:
其他好文 时间:
2018-09-22 19:46:13
阅读次数:
156
题意:n堆石头,拿走最后一块的输 思路:SJ定理:先手必胜当且仅当:(1)游戏的SG函数不为0且游戏中某个单一游戏的SG函数大于1;(2)游戏的SG函数为0且游戏中没有单一游戏的SG函数大于1。 参考:【博弈】Anti,Multi,Every-SG 代码: ...
分类:
其他好文 时间:
2018-09-22 00:52:15
阅读次数:
176
这种轮流拿掉[N,M]个石头的问题,是时候总结下公式了! 主要的核心就是,将问题转换为对方先手,然后你后手,使得每一轮,都保证是一个固定的数字。 比如这个【1,3】个石头,很明显就是凑4,对面拿1个,你拿3个;对面拿2,你拿2;对面3,你1。那么这一轮,永远是4个,主动权永远在你手里。 但是这个题目 ...
分类:
其他好文 时间:
2018-09-20 23:27:44
阅读次数:
225
题意:有一个一维棋盘,有格子标号1,2,3,......有n个棋子放在一些格子上,两人博弈,只能将棋子向左移,不能和其他棋子重叠,也不能跨越其他棋子,不能超越边界,不能走的人输 思路:可以用阶梯博弈来做。 那么先简单讲一下阶梯博弈: 有一个x阶阶梯,每一阶都有一定数量的石头,每次只能把某一阶梯上任意 ...
分类:
其他好文 时间:
2018-09-20 01:12:28
阅读次数:
140
1、题目: 你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例: 2、思路: 先拿的那位只要每两次都保证 ...
分类:
编程语言 时间:
2018-09-18 11:13:19
阅读次数:
171
题意:已知异或和为0为必败态,异或和不为0为必胜态,问你有几种方法把开局从当前状态转为必败态。 思路:也就是说,我们要选一堆石头,然后从这堆石头拿走一些使剩下的石碓异或和为0。那么只要剩下石堆的异或和小于选中石堆的大小,那么肯定能从选中石堆中找出一定数目和剩下的石堆异或后归零。 代码: ...
分类:
其他好文 时间:
2018-09-16 23:59:02
阅读次数:
311
Description 在Bob学会怎样玩Nim Game之后,他打算尝试另一款看起来更为简单的石子游戏 这个游戏是这样子玩的:一共有一个玩家,且一开始有N堆石头,第i堆石头有ai个石子。玩家每次只能移动一个石子从一堆到另一堆。在每次移动结束后,如果存在一个整数x(x 1)满足任意一堆的当前石子数b ...
分类:
其他好文 时间:
2018-09-14 01:06:55
阅读次数:
230