2017EC Final L SOS——找规律&&博弈

Posted lfri

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017EC Final L SOS——找规律&&博弈相关的知识,希望对你有一定的参考价值。

题意

有n个格子排成一行,两人轮流填,可填入"S"或"0",先得到"SOS"的人胜;如果全部填完也没有出现"SOS",则为平局。请判断是先手胜、后手胜还有平局。

分析

第一次知道,博弈题也能打表找规律。

简单地说就是,给DFS一个返回值,返回三个不同的值分别代表先手胜、后手胜和平局。

枚举当前填的格子,如果出现后手出现必败态,先手胜,直接返回;如果后手出现平局,则存在平局;否则,后手败。

技术图片

 (好像超内存了...问题不大

 不难得出结论:

n<7,平局

n >=7,

奇数,必胜

偶数,n<=14平局,n>14必败。

#include<bits/stdc++.h>
using namespace std;

int n;

int main()
{
    int T, kase = 0;
    scanf("%d", &T);
    while(T--)
    {
        scanf("%d", &n);
        printf("Case #%d: ", ++kase);
        if(n < 7)  printf("Draw
");
        else
        {
            if(n&1)  printf("Panda
");
            else
            {
                if(n <= 14)  printf("Draw
");
                else  printf("Sheep
");
            }
        }
    }
    return 0;
}

 

 

参考链接:

1. https://blog.csdn.net/a54665sdgf/article/details/82291977

2. https://blog.csdn.net/qq_36424540/article/details/82910289

以上是关于2017EC Final L SOS——找规律&&博弈的主要内容,如果未能解决你的问题,请参考以下文章

Gym 101194L / UVALive 7908 - World Cup - [三进制状压暴力枚举][2016 EC-Final Problem L]

Gym 101775A - Chat Group - [简单数学题][2017EC-Final]

hdu_6050: Funny Function (2017 多校第二场 1006) 找规律

Number Theory Problem(The 2016 ACM-ICPC Asia China-Final Contest 找规律)

UVALive - 3722 找规律

2017多校第7场 HDU 6129 Just do it 找规律