NYOJ-833解题报告

来源:互联网 发布:网络工程学院 编辑:程序博客网 时间:2024/06/05 07:44

取石子(七)

时间限制:1000 ms  |  内存限制:65535 KB
难度:1
描述

Yougth和Hrdv玩一个游戏,拿出n个石子摆成一圈,Yougth和Hrdv分别从其中取石子,谁先取完者胜,每次可以从中取一个或者相邻两个,Hrdv先取,输出胜利着的名字。

输入
输入包括多组测试数据。
每组测试数据一个n,数据保证int范围内。
输出
输出胜利者的名字。
样例输入
23
样例输出
HrdvYougth
来源

Poj



先贴上代码:

#include <iostream>using namespace std;//Yougth只要保证每次都剩下偶数段就肯定赢int main(){int n;while (cin>>n){if (n<3)cout << "Hrdv" << endl;else cout << "Yougth" << endl;}return 0;}



我开始对这个题也是及其的不理解,我看过Nyoj的评论,感觉大家都很疑惑。


这个题要注意几点:
1、石子是排成圈的。
2、不一定要按照排列的顺序取,单个的可以跳着取,只是双个的不能跳着取。
比如 1,2,3,4,5,6六个石子。假如第一个人取了1号,第二个人不一定要从2开始,可以直接取5号,只是要取双个的时候需要连着。
所以写出前几项发现,当石子数为 1,2时第一个必胜;其他情况第二个人在不走错的情况下肯定是胜利的。


这下明白了吧!其实我觉得就是题意表达不清楚。


0 0