CodeForces - 817A - Treasure Hunt【 思维 】题解

1.题目

Captain Bill the Hummibird and his crew recieved an interesting challenge offer. Some stranger gave them a map, potion of teleportation and said that only this potion might help them to reach the treasure.
Bottle with potion has two values x and y written on it. These values define four moves which can be performed using the potion:
Map shows that the position of Captain Bill the Hummingbird is (x 1, y 1) and the position of the treasure is (x 2, y 2).
You task is to tell Captain Bill the Hummingbird whether he should accept this challenge or decline. If it is possible for Captain to reach the treasure using the potion then output “YES”, otherwise “NO” (without quotes).
The potion can be used infinite amount of times.
Input
The first line contains four integer numbers x 1, y 1, x 2, y 2 ( - 105 ≤ x 1, y 1, x 2, y 2 ≤ 105) — positions of Captain Bill the Hummingbird and treasure respectively.

The second line contains two integer numbers x, y (1 ≤ x, y ≤ 105) — values on the potion bottle.

Output
Print “YES” if it is possible for Captain to reach the treasure using the potion, otherwise print “NO” (without quotes).

Examples
Input
0 0 0 6
2 3
Output
YES
Input
1 1 3 6
1 5
Output
NO
Note
In the first example there exists such sequence of moves:
— the first type of move
— the third type of move
Sponsor

2.题意

一个人去找宝藏,已知他现在的坐标和宝藏的坐标,他有一种药水会让他瞬间移动,这个药水的值是(a,b),他喝了之后会向四周(+a,+b),(-a,-b),(-a,+b),(+a,-b)四个方向移动,药水能喝无数次,问他能否到终点。

3.思路

终点坐标和起点坐标的差值必须是移动步数的倍数,否则移不到。x方向移动的是a的奇数倍,而y方向上移动的是b的偶数倍时,这个点并不能走到。也就是说x,y方向上的移动次数必须同奇偶。满足以上两个条件即可移到。

4代码

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
	int x1, x2, y1, y2;
	int x, y;
	cin >> x1 >> y1 >> x2 >> y2 >> x >> y;
	if (abs(x2 - x1) %x == 0&& abs(y2 - y1) %y ==0)
	{
		int t1 = abs(x2 - x1) / x;
		int t2 = abs(y2 - y1) / y;
		if (t1 % 2 == t2 % 2)         //同奇偶
		{
			cout << "YES" << endl;
		}
		else
		{
			cout << "NO" << endl;
		}
	}
	else
	{
		cout << "NO" << endl;
	}
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

林小鹿@

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

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

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

打赏作者

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

抵扣说明:

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

余额充值