取石子(七)
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
Yougth和Hrdv玩一个游戏,拿出n个石子摆成一圈,Yougth和Hrdv分别从其中取石子,谁先取完者胜,每次可以从中取一个或者相邻两个,Hrdv先取,输出胜利着的名字。
-
输入
-
输入包括多组测试数据。
每组测试数据一个n,数据保证int范围内。
输出
- 输出胜利者的名字。 样例输入
-
2 3
样例输出
-
Hrdv Yougth
来源
/* 这个题可以看成是对称的博弈 可以这样想,将这堆石子分成两堆完全相等的石子堆,无论自己做出什么状态的策略,对方只要在另一堆 采取相同的策略就可以回到初始状态(双方相等的状态),最后自己这一堆先没了石子,对手则取走对手堆 的最后一块,所以这是必败态,而面对N>2 石子 对手都可以使之变成两堆相等的石子,做出对称状态在完全 模拟对手常常是有效的 */ #include<iostream> using namespace std; int main(){ int n; while(cin>>n){ if(n<=2) cout<<"Hrdv"<<endl; else cout<<"Yougth"<<endl; } }
-
输入包括多组测试数据。