1. 程式人生 > >取石子(七)(NYOJ 833)

取石子(七)(NYOJ 833)

取石子(七)

時間限制:1000 ms  |  記憶體限制:65535 KB 難度:1
描述

Yougth和Hrdv玩一個遊戲,拿出n個石子擺成一圈,Yougth和Hrdv分別從其中取石子,誰先取完者勝,每次可以從中取一個或者相鄰兩個,Hrdv先取,輸出勝利著的名字。

輸入
輸入包括多組測試資料。
每組測試資料一個n,資料保證int範圍內。
輸出
輸出勝利者的名字。
樣例輸入
2
3
樣例輸出
Hrdv
Yougth

剛開始看這道題以為是巴什博弈問題,其實根本就不是,題目的敘述是將所有的石子擺成一圈,而巴什博弈是離散的,不符合這一題的要求。

假設石子數等於5,如果先者先取一個,那麼後者拿走兩個,將剩下的兩個石子分成兩堆,後者贏。如果先者先取二個,那麼後者取一個使剩下的兩個石子分成兩堆,後者贏。

假設石子數等於6,如果先者先取一個,那麼後者拿走一個,將剩下的石子分成兩段,每段兩個,如果先者再拿兩個,那麼後者贏,如果先者再拿一個,那麼後者再取另一堆中的一個,這樣剩下的兩個石子被分成兩堆, 後者贏。         如果先者先取兩個,那麼後者也取兩個使剩下的兩個石子分成兩堆,後者贏。

所以當先者取走後,後者取走一個或者兩個,將剩下的石子分成對稱的兩段,以此類推,那麼如果石子數大於2後者一定贏。

#include <stdio.h>

int main (void)
{
	int n;
	while (scanf("%d", &n) != EOF)
	{
		if(n > 2)
			printf("Yougth\n");
		else
			printf("Hrdv\n");
	}
	return 0;
}