四堆抽牌如何获胜

问题描述:

    发四堆扑克,一堆是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”的时候,是无法获胜的。所以想赢,一定要后拿牌。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值