Euclid's Game HDU - 1525

思路:分析x与y大小关系与结果之间的联系(这里x是max(x,y))
1.x==y,先手赢
2.x>=2y,由于结果开始就是确定的 ,而x>=2y时,例如:x=9,y=4,必然可以得到结果相反的情况,如 x=5,y=4和x=1,y=4

int play(int x,int y)
{
	if (x == y || x >= 2 * y)return 0;
	else return play(y, x - y)+1;
}
int main() 
{
	int x, y;
	while (cin >> x >> y)
	{
		if (x == 0 && y == 0)break;
		if (x < y)swap(x, y);
		if (play(x, y) % 2 == 0)puts("Stan wins");
		else puts("Ollie wins");
	}
	return 0;
}
发布了22 篇原创文章 · 获赞 2 · 访问量 361

猜你喜欢

转载自blog.csdn.net/qq_43543086/article/details/104731727