zoukankan      html  css  js  c++  java
  • Vijos P1196吃糖果游戏[组合游戏]

    描述

    Matrix67和Shadow正在做一个小游戏。

    桌子上放着两堆糖果,Matrix67和Shadow轮流对这些糖果进行操作。在每一次操作中,操作者需要吃掉其中一堆糖果,并且把另一堆糖果分成两堆(可以不相等)留给对方操作。游戏如此进行下去,糖果数会越来越少,最后必将出现这样一种情况:某人吃掉一堆糖果后发现另一堆里只剩一块糖果不能再分了。游戏规定此时该操作者吃掉最后这一块糖果从而取胜。

    这个游戏是不公平的。对于任意一种初始状态,总有一方有必胜策略。所谓有必胜策略是指,无论对方如何操作,自己总有办法取胜。

    Matrix67和Shadow将进行10次游戏,每一次游戏中总是Matrix67先进行操作。Matrix67想知道每一次游戏中谁有必胜策略。

    格式

    输入格式

    输入数据一共10行,每行有两个用空格隔开的正整数,表示一次游戏开始时桌子上两堆糖果分别有多少个。

    对于50%的数据,这些正整数均不超过100;
    对于70%的数据,这些正整数均不超过10 000;
    对于100%的数据,这些正整数均不超过10 000位。

    输出格式

    输出十行字符串。这些字符串只能是“Matrix67”或“Shadow”,它们表示对应的十行输入数据中有必胜策略的一方。

    请注意大小写。

    样例1

    样例输入1[复制]

     
    1 1
    1 2
    1 3
    1 4
    1 5
    2 1
    2 2
    2 3
    2 4
    2 5

    样例输出1[复制]

     
    Matrix67
    Matrix67
    Matrix67
    Matrix67
    Matrix67
    Matrix67
    Shadow
    Shadow
    Matrix67
    Matrix67

    限制

    各个测试点1s

    来源

    Matrix67原创


    规定了获胜状态

    从(x,1)开始递推

    设(x,a),吃掉x,留下的a分开,如果能分成两部分c和d使(x,c)和(x,d)都是P状态,(x,a)就是n状态;如果不得不存在一个N状态的,(x,a)就是P状态

    递推完1...10后>10的%10就行了

    还有一种分析:(%Matrix67)

    当游戏状态属于前者时,Matrix67可以把糖果数被5除余1、4或正好除尽的那一堆分成糖果数被5除余数都是2或3的两堆(他总能做到这一点),而对方不得不把其中一堆糖果又分出新的糖果数被5除余1、4或正好除尽的一堆留给Matrix67操作。这样逼着对方总是面临必败的状态,使得最后对方不得不把2个糖果或者3个糖果分成两堆,从而使Matrix67赢得游戏。反过来,当Matrix67面临两堆糖果的数目被5除余数都是2或3的状态时,Shadow总可以取胜。

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <cstring>
    using namespace std;
    const int N=1e4+5,INF=1e9+5;
    char a[N],b[N];
    int main(){
        for(int i=1;i<=10;i++){
            scanf("%s%s",a,b);
            int n=strlen(a)-1,m=strlen(b)-1;
            char c=a[n],d=b[m];
            if((c=='2'||c=='3'||c=='7'||c=='8')&&(d=='2'||d=='3'||d=='7'||d=='8')) puts("Shadow");
            else puts("Matrix67");
        }
    }
  • 相关阅读:
    Xcode6模拟器下键盘出不来的原因
    iOS7View被导航栏遮挡问题的解决
    iOS中设置导航栏标题的字体颜色和大小
    iphone ios 屏幕,导航条,状态栏的高度
    iOS: TableView如何刷新指定的cell 或section
    rest api load test
    异步图片处理服务器
    bitbucket SSH 生成
    基于Token的授权(with srping mvc)
    Netty性能调优
  • 原文地址:https://www.cnblogs.com/candy99/p/6059510.html
Copyright © 2011-2022 走看看