P10030 题解(2023 激励计划评分 7)

· · 题解

一道 CF 风格题,这里对大小写不敏感也是为了仿 CF。

首先,很明显如果 b 不为 0,那么可以一直进行第二种操作,由于 \gcd(p,b)=1,可以由裴蜀定理得知一定能达到 c

否则如果 b=0,那么第一种操作相当于一直对 0 进行乘法,并没有任何用,此时只有 c=0 满足条件,因为什么都不用操作就已经达到了需求,虽然说题目不让不进行操作,但我们还是可以先进行一次乘法操作(反正没用)。

综上,只要 b \ne 0 或者 c=0 答案就为 YES,否则就是 NO

代码如下:

#include<bits/stdc++.h>
using namespace std;
void solve(){
    int a,b,c,p;
    cin>>p>>a>>b>>c;
    if (b!=0 || c==0) cout<<"YES\n";
    else cout<<"NO\n";
} 
int main(){
    int T;
    cin>>T;
    while (T--) solve();
    return 0;
}