Skip to main content

P14069 初遇

· One min read
lailai
Student & Developer

解题思路

显然 a=na=nb=nb=na+b=na+b=n 无解。

如果 aba\ne b,第一步操作后,得到:

A=a,B=a+bA=a,B=a+b

A=a+b,B=bA=a+b,B=b

后续每一步始终操作另一个数,得到:

A=a+k(a+b),B=a+bA=a+k(a+b),B=a+b

A=a+b,B=b+k(a+b)A=a+b,B=b+k(a+b)

由于 aba\ne b,即 a+k(a+b)b+k(a+b)a+k(a+b)\ne b+k(a+b),至少有一种情况不等于 nn,因此一定有解。

如果 a=ba=b,第一次操作后除非 A+B=3a=nA+B=3a=n 无解,否则一定有解。

参考代码

#include <bits/stdc++.h>
using namespace std;

using ll=long long;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin>>T;
while(T--)
{
ll a,b,n;
cin>>a>>b>>n;
cout<<(a==n||b==n||a+b==n||(a==b&&a*3==n)?"No":"Yes")<<'\n';
}
return 0;
}