HDU1525

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1525

 

 

package D0720;

/*
 * 题意:两个数a>b的 a-k*b==0的时候就赢了
 * 分析:要想赢肯定要最后的两个数约分之后为x,1的时候下棋。
 * 如果a/b>=2也就是说a是b的两倍以上的话,先下棋的肯定赢,因为a-k*b永远不可能等于b的倍数。也就是
 * 下一个人下棋的时候不可能是x,1的形式。
 * 所以只要判断当a/b<2的时候就可以了
 * 
 * */
import java.io.*;

public class HDU1525 {

	public static void main(String[] args) throws IOException {
		StreamTokenizer st = new StreamTokenizer(new BufferedReader(
				new InputStreamReader(System.in)));
		PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
		int a, b;
		while (st.nextToken() != StreamTokenizer.TT_EOF) {
			a = (int) st.nval;
			st.nextToken();
			b = (int) st.nval;
			if (a == 0 && b == 0)
				break;
			int k = 1;
			while (true) {
				if (a < b) {
					a = a + b;
					b = a - b;
					a = a - b;
				}
				if (a / b >= 2 || a % b == 0)
					break;
				k++;
				a %= b;
			}
			if (k % 2 == 0)
				// System.out.println("Ollie wins");
				out.println("Ollie wins");
			else
				out.println("Stan wins");
			// System.out.println("Stan wins");
		}
		out.flush();
	}
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怎么演

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值