问题 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<=) printf("Yougth\n");
else printf("Hrdv\n");
}
return ;
}
/**************************************************************
Problem: 1548
User: 2016207228
Language: C++
Result: 正确
Time:0 ms
Memory:1084 kb
****************************************************************/

梦工厂实验室 取石子之fans 博弈的更多相关文章

  1. HDU 2516 取石子游戏(FIB博弈)

    取石子游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  2. 取石子游戏 BZOJ1874 博弈

    小H和小Z正在玩一个取石子游戏. 取石子游戏的规则是这样的,每个人每次可以从一堆石子中取出若干个石子, 每次取石子的个数有限制,谁不能取石子时就会输掉游戏. 小H先进行操作,他想问你他是否有必胜策略, ...

  3. 【BZOJ1413】取石子游戏(博弈,区间DP)

    题意:在研究过Nim游戏及各种变种之后,Orez又发现了一种全新的取石子游戏,这个游戏是这样的: 有n堆石子,将这n堆石子摆成一排.游戏由两个人进行,两人轮流操作,每次操作者都可以从最左或最右的一堆中 ...

  4. hdu 2516 取石子游戏 (Fibonacci博弈)

    取石子游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  5. 梦工厂实验室 蛇形填数 dfs

    问题 D: 蛇形填数 时间限制: 3 Sec  内存限制: 64 MB提交: 28  解决: 5[提交][状态][讨论版] 题目描述 在n*n方阵里填入1,2,...,n*n,要求填成蛇形.例如n=4 ...

  6. {HDU}{2516}{取石子游戏}{斐波那契博弈}

    题意:给定一堆石子,每个人最多取前一个人取石子数的2被,最少取一个,最后取石子的为赢家,求赢家. 思路:斐波那契博弈,这个题的证明过程太精彩了! 一个重要的定理:任何正整数都可以表示为若干个不连续的斐 ...

  7. nim3取石子游戏 (威佐夫博弈)

    http://www.cnblogs.com/jackge/archive/2013/04/22/3034968.html 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有 ...

  8. HDU 2516 取石子游戏(斐波那契博弈)

    取石子游戏 Time Limit: 2000/1000 MS(Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissi ...

  9. 【POJ1067】取石子游戏 (威佐夫博弈)

    [题目] Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的 ...

随机推荐

  1. socketserver模块的使用

    import socketserver class MyTCPhandler(socketserver.BaseRequestHandler): def handle(self): # print(s ...

  2. vim 参数文件配置

    下面是我配置的遇到问题不能修改配置文件时的解决方案 1 /usr/share/vim/vimrc 2 这个是系统型的vimrc配置文件,为了保证vim的正常使用,一般并不会修改这个文件, 而是应该在你 ...

  3. Oracle中Hint深入理解

    Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担.但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比. 此时就需要DBA进行 ...

  4. 问题 “cell 出栈 selectBox 已选的图标,被释放掉,再次进入屏幕时,没有了已选图标 ” 解决方案

    如何 去解决 列表里面的selectBox已选情况,在滑出屏幕后被清除的问题.      我来在这里 详细说明一下, 在cell里面写一个方法,去专门修复滑出后,又滑进来 图标被冲刷掉的cell. 在 ...

  5. 获取一组radio按钮选中的值Value

    1.效果 2.HTML代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=" ...

  6. Kafka理论学习

    Kafka Consumer设计解析 http://www.jasongj.com/2015/08/09/KafkaColumn4/

  7. APP上线审核注意事项

    基本要点 ·         不能导致手机故障(比如崩溃或屏幕问题) ·         长时间/过度使用之后反应仍然很快 ·         应用内的所有价格信息中不能用固定值代替可变变量 ·    ...

  8. IDEA 打开多个项目

    简单的说只需要以下几步: 1.将需要同时打开的模块放在一个文件夹下,e.g. AModel 和 BModel 同时放在 Project 文件夹下. 2.在 IDEA 初始导入项目页面选择 open - ...

  9. 后台管理微服务(二)——docker的使用

    1. docker概述 1.1 Docker是什么 Docker 是软件工业的集装箱技术 Docker 是一个容器引擎,docker提供了一套完整的容器解决方案. Docker 是一个能将开发的程序自 ...

  10. H5与native有啥区别?

    app测试,H5与native有啥区别? native是使用原生系统内核的,相当于直接在系统上操作.是我们传统意义上的软件,更加稳定. 但是H5的APP先得调用系统的浏览器内核,相当于是在网页中进行操 ...