题目描述
msc有一天遇见了mas,于是他们开始玩游戏。
msc和mas初始各有一个正整数A和B,并且他们共同设置了一个阈值L。
然后游戏就开始了,对于每一局操作的人,假设他手上拿着的是数字x,对手手上拿着的是数字y(记这一局开始时y的数值为y0),那么:
1、如果x>L,那么他就胜利了,否则进入步骤2
2、他会给对手的数值加上x(即),如果此时对手手上的数值y大于等于2y0,那么这一轮结束轮到对手操作,否则继续执行步骤2
由于mas爱慕着msc,所以mas想知道当msc先手或后手时能否胜利。
输入描述:
一行三个正整数A,B和L,分别表示msc初始的数字,mas初始的数字和阈值。
输出描述:
一行两个字符串'Yes'或'No',分别表示msc先手以及后手时能否胜利,如果可以则输出'Yes',否则输出'No'(不包含单引号)。
示例1
输入
复制
232 42 9483
输出
复制
No No
备注:
1≤ A,B,L≤ 109
模拟
#include<iostream>
#include<algorithm>
#define ll long long
using namespace std;
int main()
{
ll a,b,l;
while(cin>>a>>b>>l)
{
ll m=a,n=b;
while(1)
{
if(m>l)
{
cout<<"Yes ";
break;
}
ll x=n;
while(n<2*x)
n+=m;
if(n>l)
{
cout<<"No ";
break;
}
ll y=m;
while(m<2*y)
m+=n;
}
m=b,n=a;
while(1)
{
if(m>l)
{
cout<<"No"<<endl;
break;
}
ll x=n;
while(n<2*x)
n+=m;
if(n>l)
{
cout<<"Yes"<<endl;
break;
}
ll y=m;
while(m<2*y)
m+=n;
}
}
return 0;
}