Vijos 1655萌萌的糖果||博弈

这篇博客介绍了Vijos 1655题目的背景和规则,涉及一场关于糖果的博弈问题。萌萌和绵羊爸爸进行糖果争夺,目标是通过特定的取糖规则赢得所有糖果。博客解释了当糖果数量对5取模余2或3时,先手玩家(萌萌)处于必败状态,否则为必胜状态,并提供了样例输入和输出,以及解题思路和代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://vijos.org/p/1655

border="0" width="235" height="346" src="http://www.xiami.com/widget/39278414_1770968200,1770968178,1769326698,1773614784,1773597382,1774370889,1769460372,1769460366,1774133995,1774441106,1771140574,1770936331,1771410193,1771169318,1771310570,_235_346_5695c1_457cb4_1/multiPlayer.swf">

**

背景

**
用糖果来引诱小朋友学习是最常用的手法,绵羊爸爸就是用糖果来引诱萌萌学习博弈的。


**

描述

**
他把糖果分成了两堆,一堆有A粒,另一堆有B粒。他让萌萌和他一起按照下面的规则取糖果:每次可以任意拿走其中一堆糖果;如果这时候另一堆糖果数目多于1粒,就把它任意分成两堆,否则就把剩下的一粒糖果取走并获得这次博弈的胜利。胜利者将获得所有的糖果。萌萌想要得到所有的糖果,而绵羊爸爸想把糖果留下以便下一次利用。现在由萌萌先取糖果,旁观的小朋友们想知道萌萌是否有必胜策略。
格式


**

输入格式

**
本题有多组测试数据(不超过100组)。每组数据包括两行,第一行为A,第二行为B。1 ≤ A,B ≤ 2^127。输入数据以一个 -1 结束。


**

输出格式

**
每组数据对应一行输出。如果萌萌获胜则输出”MengMeng”,否则输出”SheepDaddy”(不包括引号)。
样例1
**

重点内容

**

**样例输入1

**
1
2
2
3
-1
**

样例输出1

**
MengMeng
SheepDaddy


**

Solution:

**
如果对五取模余2或3为必败态,否则为必胜态.

-Proof:

我们先证明 当有 起初态任意一个为 1 4 5 先手必胜

先手:x,1——取x——>胜
先手:x,4——取x——>后手:2,2(只能取2…)——>先手:1,1——>胜
先手:x,5——取x——>后手:2,3(剩下2的上面讨论了..于是取2剩下3)
——>先手:1,2——>胜

对于任意一个数 x ≡ 2 or 3 (mod 5) 我们将他拆成两个数 a b 那么我们可以断定 a 和 b其中一定有一个 mod 5 ≠ 2 or 3

然而对于任意一个 x ≡ 0 or 1 or 4 我们都可以拆成两个数 且都满足 mod 5余 2 or 3 然后这样就必胜态一直可以是自己保持着必胜态 然后数会一直减小 所以最后回到了我们最早的证明

end-


**

Code

**

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
 char s1[10003],s2[10003];
 int main()
{
    while(1)
    {
        scanf("%s",s1);
        if(s1[0]=='-')return 0;
        scanf("%s",s2);
        int a=s1[strlen(s1)-1]-'0',b=s2[strlen(s2)-1]-'0';
        a%=5;b%=5;
        if((a==2||a==3)&&(b==2||b==3))
            printf("SheepDaddy\n");
        else 
            printf("MengMeng\n");
    }
}


——既然选择了远方,便只顾风雨兼程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值