梦工厂实验室 取石子之fans 博弈

Posted 博客就叫Molex好了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了梦工厂实验室 取石子之fans 博弈相关的知识,希望对你有一定的参考价值。

问题 D: 取石子之fans

时间限制: 1 Sec  内存限制: 64 MB
提交: 57  解决: 26
[提交][状态][讨论版]

题目描述

Yougth和Hrdv玩一个游戏,拿出n个石子摆成一圈,Yougth和Hrdv分别从其中取石子,谁先取完者胜,每次可以从中取一个或者相邻两个(注意不是“两个”而是“相邻两个”),Yougth先取,两个人足够聪明,不会拿错。输出胜利者的名字。

输入

输入包括多组测试数据。
每组测试数据一个正整数n,数据保证int范围内。

输出

输出胜利者的名字。

样例输入

2
3

样例输出

Yougth
Hrdv
  
这个题可以看成是对称的博弈。可以这样想,将这堆石子分成两堆完全相等的石子堆,无论自己做出什么状态的策略,对方只要在另一堆采取相同的策略就可以回到初始状态(双方相等的状态),最后自己这一堆先没了石子,对手则取走对手堆的最后一块,所以这是必败态,而面对N>2 石子 对手都可以使之变成两堆相等的石子,做出对称状态在完全模拟对手常常是有效的


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<stack>
#include<queue>
#include<vector>
#include<algorithm>
using namespace std;
 
int main()
{
    int n,i,j;
    while(~scanf("%d",&n)){
        if(n<=2) printf("Yougth\n");
        else printf("Hrdv\n");
    }
    return 0;
} 
/**************************************************************
    Problem: 1548
    User: 2016207228
    Language: C++
    Result: 正确
    Time:0 ms
    Memory:1084 kb
****************************************************************/

 

以上是关于梦工厂实验室 取石子之fans 博弈的主要内容,如果未能解决你的问题,请参考以下文章

博弈论入门之威佐夫博弈

(HDU - 1527)取石子游戏(斐波那契博弈)

ACM-尼姆博弈之取(m堆)石子游戏——hdu2176

POJ1067 取石子游戏 威佐夫博弈 博弈论

USTC 1213取石子游戏(尼姆博弈)

83-取石子-尼姆博弈