2020 Winter Holiday [gmoj1596] [GDKOI2004] [Stone Game] [Parity]

タイトルの説明

XiaoyongとXiaoshiは良い友達で、一緒に遊ぶことがよくあります。彼らが今日プレイするゲームはこれです:正方形の石で作られた床があり、その高さは2、長さはNです。たとえば、N = 3の場合は次のようになります。
ここに画像の説明を挿入

今度は長さと幅が1と2の長方形の石を水平または垂直に交互に置きますが、誰かが床に置くことができない場合は、床の覆われていない2つの正方形の石の上に置く必要があります。それから彼は負けました。
たとえば、
ここに画像の説明を挿入
Xiaoshiが次のように左上に石を水平に置いた場合、Xiaoyongは次のように右下に石を水平に置いたようなゲームです。
ここに画像の説明を挿入

現時点では、Xiao Shiは石を置くことができなくなったため、負けました。Xiaoyongはより礼儀正しく、Xiaoshiを最初にリリースしました。もちろん、上記の方法は最善ではないかもしれませんが、もしそれらが非常に賢いなら、誰が勝つかを決定するようにプログラムしてください。

入力

最初の行の整数C(1 <= C <= 100)は、テストデータの数を示します。次にラインCがあり、各ラインはテストデータです。各テストデータは整数N(1 <= N <= 100)のみを持っています。

アウトプット

ラインCが出力され、各ラインは対応するテストデータの結果を出力します。それぞれの結果について、Xiaoyongが勝った場合はxiaoyongが出力され、そうでない場合はXiaoshiが勝ってxiaoshiが出力されます。

入力例

1
1

出力例

Xiaoshi

分析

とても賢い!
実際、法則を見ると、nは奇数であり、これは小さな実勝を意味し、偶数はXiaoyong勝を意味することがわかり
ます。

コードオン

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int c,n;
int main()
{
    freopen("game.in","r",stdin);
	freopen("game.out","w",stdout);
	cin>>c;
	for(int i=1;i<=c;i++)
	{
		cin>>n;
		if(n%2!=0) cout<<"xiaoshi"<<endl;
		else if(n%2==0) cout<<"xiaoyong"<<endl;
	}
	fclose(stdin);
	fclose(stdout); 
    return 0;
}

元の記事を110件公開 100 件を獲得 8015を訪問

おすすめ

転載: blog.csdn.net/dglyr/article/details/105057148