当前位置:网站首页>2022牛客多校六 J-Number Game(简单推理)
2022牛客多校六 J-Number Game(简单推理)
2022-08-08 23:06:00 【AC__dream】
题目:
样例输入:
3
2 4 3 1
2 4 3 2
4 2 2 0
样例输出:
Yes
No
Yes
题意:给定a,b,c,x,我们可以对a和b和c这三个数进行操作,我们可以把b变成a-b,也可以把c变成b-c,操作次数不受限制,问我们能不能把c变成x。
分析:
我们发现对b进行操作只能得到两种结果,一种是a-b,另一种是a-(a-b)=b,也就是b自己,所以无论对b进行多少次操作,b只能有这两种值,所以我们可以直接让a-=b,然后等价于c有两种操作,一种是把c变为a-c,另一种就是题目中所描述的,把c变为b-c,通过简单模拟我们发现我们不应该连续两次用同一个数减c,因为那样相当于没减,所以我们只能是交替着减c,那么也就有两种情况,一种是a-(……(b-(a-(b-(a-c))))),另一种是b-(……(a-(b-(a-(b-c))))),然后通过化简可以得到第一种情况对应着两个等式,一个是a+k*(a-b)-c=x另一个是k*(a-b)+c=x,第二种情况也对应着两个等式,一个是b+k*(b-a)-c=x,另一个是k*(b-a)+c=x,所以我们只要判断一下这四个等式是否有一个成立就可以了。注意特判a=b的情况
细节见代码:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
#include<queue>
#include<vector>
#include<cmath>
using namespace std;
const int N=1e4+10;
int main()
{
int T;
cin>>T;
while(T--)
{
long long a,b,c,x;
scanf("%lld%lld%lld%lld",&a,&b,&c,&x);
bool flag=false;
a-=b;
if(a-b)
{
if((x-c)%(a-b)==0) flag=true;
if((x+c-a)%(a-b)==0) flag=true;
if((x+c-b)%(b-a)==0) flag=true;
}
else
{
if(x-c==0) flag=true;
if(x+c-a==0) flag=true;
if(x+c-b==0) flag=true;
}
if(flag) puts("Yes");
else puts("No");
}
return 0;
}
边栏推荐
猜你喜欢
(Codeforce 757)E. Bash Plays with Functions(积性函数)
浅析WLAN——无线局域网
ArcPy要素批量转dwg
用工具实现 Mock API 的整个流程
Virtual router redundancy protocol VRRP - double-machine hot backup
Virtualization type (with picture)
ABP中的数据过滤器
【Bug解决】ValueError: Object arrays cannot be loaded when allow_pickle=False
wps备份与恢复在哪里?
(2022牛客多校五)D-Birds in the tree(树形DP)
随机推荐
JS中的原型与原型链
每日一R「01」跟着大佬学 Rust
STM8L 液晶数码管驱动,温度计液晶屏显示
Ant Forest Offline crawlers automatically collect energy, raise chickens, and other operations
4399 it operations intern interview experience
MPLS Virtual Private Network Everywhere in Life
微信小程序开发一些函数使用方法
树莓派wiringPi库的使用补充
【Pytorch】学习笔记(一)
CTFSHOW_WEB入门web213
Pyhton面对对象
wps表格下拉选项怎么添加?wps表格下拉选项的添加方法
WeChat applet wx:for loop output example
ArcPy图斑编号-根据字段长度自动补齐
Qt入门(五)——文件操作、热键和鼠标的读取(txt窗口的实现)
C language library function summary2019.10.31
4399IT运维实习生面试经历
JSDay1-两数之和
ALIPAY WEB log in rsa encryption analysis record
CTF攻防世界