`
peizhyi
  • 浏览: 29561 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

四堆抽牌如何获胜

 
阅读更多

问题描述:

    发四堆扑克,一堆是2张,一堆是5张,一堆是8张,一堆是10张。排列如下:

  2 5 8 10 

 两个人,轮流拿牌。每次只能在一堆里面拿,无论拿几张都可以,最多一次可以把任意一堆牌全拿走。经过N轮拿牌过后,拿最后一张牌的人输。

 

解决思路:

1. 从最简单的情况开始考虑,在简单的情况下可以取胜,才能在更复杂的情况取胜;

2. 我能否取胜,取决于“我本次拿走一些牌以后,对方一定是失败的”;

3. 如果我无法拿走一些牌,使得对方一定失败,那我就输了。

     

 

下面是推导:

 

(其中N表示大于1的数)

 

 

 

只有一堆时:

 

本轮剩余的牌数

1

N

我能否获胜

No

Yes

 

 

 

有两堆的时候:

 

本轮剩余的牌数

1,1

1,N

N,N

我能否获胜

Yes

(可以推导到“1”的情况)

Yes

(可以推导到“1”的情况)

No

(无法一次推导到前面失败情况)

 

 

 

有三堆的时候:

 

本轮剩余的牌数

1,1,1

1,1,N

1,N,N

N,N,N

我能否获胜

No

(无法一次推导到前面失败情况)

Yes

(可以推导到“1,1,1”的情况)

Yes

(可以推导到“N,N”的情况)

Yes

(可以推导到“N,N”的情况)

 

 

 

有四堆的时候:

 

本轮剩余的牌数

1,1,1,1

1,1,1,N

1,1,N,N

1,N,N,N

N,N,N,N

我能否获胜

Yes

(可以推导到“1,1,1”的情况)

Yes

(可以推导到“1,1,1”的情况)

No

(无法一次推导到前面失败情况)

Yes

(可以推导到“1,1,N,N”的情况)

No

(无法一次推导到前面失败情况)

 

 

可以看到,面对“N,N,N,N”的时候,是无法获胜的。所以想赢,一定要后拿牌。

分享到:
评论

相关推荐

    uno游戏 c++ 人机对战 人人对战

    如果抽到的牌与弃牌堆的顶部相匹配,他/她必须打该牌(而官方规则允许玩家保留该牌)。 3.对于外画4牌,官方说明说:“只有当你手中没有与之前玩的牌的颜色相匹配的牌时,你才能玩这张牌。”我们将永远允许玩这张牌...

    Solitaire Kings Kit 纸牌国王套件Unity纸牌游戏项目源码C#

    Solitaire Kings Kit 纸牌国王套件 ...抽 1 张牌(简单)或抽 3 张牌(困难) 流畅的动画,良好的声音,音乐。 优化且移动友好。 撤消和提示卡 两种风格的卡片和 UI。 Admobs IAP 用于删除广告。

    resnappt:获胜的演示周条目

    每位玩家从牌库中抽牌到手,直至手牌上限 然后,玩家可以打出尽可能多的牌,通过打出一张牌到分数堆或选择通过来终止他们的回合。 如果玩家打出与当前得分堆顶部相匹配的得分卡,则该玩家将获得由打出的卡定义的...

    Punish:类似于疯狂八人的纸牌游戏-开源

    下载该zip文件,然后将其解压缩到一个文件夹中。 运行JAR文件以玩游戏。 确保在系统上安装了Java 8。... 打八局导致其他所有玩家从抽牌堆中抽出一张牌。 如果玩家没有合适的纸牌或A / J / E,则必须抓一张纸牌。

    SorteosFB:基于Facebook数据进行比赛的源代码

    Sorteos FB 开发该软件的目的是使用“粉丝页面”的Facebook数据创建比赛。 例如:您想向您的页面用户抽奖。 该工具允许您执行此操作。 当前版本仅允许根据... 例如,如果MN = 4,则该程序将在选择获胜者之前生成4

    mjai-manue:日本麻将AI

    实际上,为了加快速度,预先请求“从当前的手牌完成所需的牌”,并检查在随机绘制的N个牌中是否包括必要的牌。 avgHoraPt /平均霍拉积分/平均霍拉积分完成时的平均获胜分数。 与horaProb同时在蒙特卡洛获得。获胜...

    bokeh:雷的博基游戏

    如果你确实有那张有问题的牌,你将它展示出来,对手失去一张牌,你的牌被洗进牌堆只是为了抽一张新的,也许再次得到同一张牌,也许不会。 最后一位仍有一张或更多牌的玩家获胜。 ###Ace 卡牌能力:暗杀如果你有一张...

    二十一点计划

    发牌者将继续抽牌直到其得分超过16。如果发牌者超过21,则玩家将获胜。 如果发牌人或玩家得分均未超过21,则得分较高者将赢得比赛。 在每个回合结束时,提示用户输入“ Y”再次播放或“ N”退出。得到教训我从没玩...

    ytx-card-game:ytx.finance 纸牌游戏

    第一个用户得到 4,因为他们每回合抽一张牌。 您可以随时使用部署的卡直接攻击对手。 当玩家的生命点数减少到 0 时,他就输了。 有一个按钮,上面写着“结束转弯”,你按下它可以结束你的回合并传递到下一个回合。 ...

    StixGame:实现纸牌游戏 Stix 的 Android 游戏

    斯蒂克斯游戏实现纸牌游戏 Stix 的 Android 游戏Stix 是一种策略... 如果仍然没有匹配,玩家必须抽一张牌。 当玩家(获胜者)丢弃他或她的整手牌时,游戏结束。 将摇杆配置与卡片匹配时,所有旋转和镜像都是有效匹配。

    uno-with-python-cynwachi:由GitHub Classroom创建的uno-with-python-cynwachi

    版本1.0 2人没有动作卡牌手用完时,玩家获胜版本2.0 一次添加一张动作卡课堂笔记:号码卡0-94种颜色红色的绿色的黄色的蓝色版本2.0动作卡撤销抽奖2 第4张荒野疯狂抽奖4 跳过开始荷官向每位玩家发放7张牌甲板留出从...

    rummy:社交时玩拉米纸牌游戏

    这是一个自我管理的解决方案,您可以创建自己的游戏,接纳玩家并批准获胜者。 该游戏尚处于开发初期,您需要指明何时认为自己已经赢了-计算机无法为您解决。 玩耍 您可以。 输入您的姓名,然后按下一步。 您可以...

    blackjack:一个基于JavaScript的二十一点游戏

    游戏是可获胜的,并显示获胜者 游戏指示如何玩 适当使用GitHub并部署在Github Pages上 长文件适当分割 适当使用功能 干码 检测到抽奖(如果适用) 轻松触发事件 :diamond_suit: 使用的技术 jQuery + jQuery UI ...

    pazaak:Pazaak(Star Wars Blackjack)的资源-图像,游戏引擎,分析

    玩家每回合可以用手玩一张修正牌(+ 2,-4,...),以改变总数。 一场比赛是5局中最好的一场(3获胜),并且在比赛开始时只发了1张手牌。该存储库中有什么?图像文件有可用的各种应用程序,但没有官方的pazaak卡...

    Sequence-Android-Game:安卓设备的序列风格游戏

    序列-Android-游戏安卓设备的序列风格游戏。 Sequence 是一种棋盘游戏,使用两副纸牌,... 第一个得分的玩家 - 即连续 5 个棋子 - 水平、垂直或对角线在 3 人或 2 人的 3 队(6 人版)中获胜。 在其他版本中 - 2 或 4

    3Strikes:经典的价格是正确的游戏,三击

    3罢工游戏看法编辑来自Fork回购在您喜欢的文本编辑... 从小袋中选择一个数字令牌。 选择位置编号属于汽车的价格。 如果您在抽3次罢工之前正确地猜出了汽车的价格,您将获胜。技术领域HTML CSS3 萨斯JavaScript jQuery的

Global site tag (gtag.js) - Google Analytics