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 找规律)