3521 - 不服sala第三部
时间限制 : 1 秒
内存限制 : 64 MB
小涛上次sala输给了小明。为了复仇,他们第二天继续sala。小涛叫来了他的好闺蜜——数学课代表小红(小学生都这么恐怖了……)
不过这次sala的不是英雄联盟了,而是……这么一个游戏。
先由小红数一个0,之后两人交替数数,每次在前一个人数的基础上往后数一个数或两个数,谁能数到数字30谁就获胜。
在经过几次游戏之后,小明发现他永远赢不了游戏(你的计谋呢,你的担架呢?),数学课代表的力量太强大了,怪不得小涛找她当闺蜜- -。于是他们决定改变一下游戏的规则。
他们随机选定两个数字m和x,还是由小红先数一个数0,之后两人交替数数,每次可以在前一个人数的基础上往后数1到m个数,谁先数到数x谁就获胜。
现在已知两人都绝顶聪明,请问谁有必胜的策略?
PS:这貌似是某年某省小学奥数比赛的原题。
题目输入
第一行有一个整数n,代表输入实例有n组。接下来的n行,每行两个整数m(1<=m<=100),x(1<=x<=10000),如题目所述。
题目输出
对于每组输入实例,请输出谁有必胜的策略,如果小明必胜,请输出“Xiaoming”,如果小红必胜,请输出“Xiaohong”。
输入/输出样例
输入格式
3 2 30 1 1 13 14
输出格式
Xiaohong Xiaoming Xiaohong
C语言解答
#include<string.h> #include<stdio.h> int main() {char a[10000]; int n,i,j,k,m; scanf("%d",&n); while(n--){ int a,b; scanf("%d%d",&a,&b); if(b%(a+1)==0) printf("Xiaohong\n"); else printf("Xiaoming\n"); } }
C++解答
#include <stdio.h> #include <iostream> #include <fstream> using namespace std; int main(void) { // ifstream cin; // ofstream cout; // cin.open("i.in"); // cout.open("i.out"); int n; cin>>n; while(n--) { int m,x; cin>>m>>x; if(x%(m+1)==0) cout<<"Xiaohong"<<endl; else cout<<"Xiaoming"<<endl; } }