CF1082A.Vasya and Book
普及-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Vasya is reading a e-book. The file of the book consists of n pages, numbered from 1 to n. The screen is currently displaying the contents of page x, and Vasya wants to read the page y. There are two buttons on the book which allow Vasya to scroll d pages forwards or backwards (but he cannot scroll outside the book). For example, if the book consists of 10 pages, and d=3, then from the first page Vasya can scroll to the first or to the fourth page by pressing one of the buttons; from the second page — to the first or to the fifth; from the sixth page — to the third or to the ninth; from the eighth — to the fifth or to the tenth.
Help Vasya to calculate the minimum number of times he needs to press a button to move to page y.
瓦西娅正在阅读一本电子书。该书的文件包含 n 页,页码从 1 到 n。当前屏幕显示的是第 x 页的内容,而瓦西娅希望阅读第 y 页。电子书上有两个按钮,分别允许瓦西娅向前或向后翻阅 d 页(但他不能翻出书的范围)。例如,若该书共有 10 页,且 d=3,则:从第 1 页出发,按一次按钮可到达第 1 页(无法向前翻)或第 4 页;从第 2 页出发,可到达第 1 页或第 5 页;从第 6 页出发,可到达第 3 页或第 9 页;从第 8 页出发,可到达第 5 页或第 10 页。
请帮助瓦西娅计算他最少需要按多少次按钮才能到达第 y 页。
输入格式
The first line contains one integer t (1≤t≤103) — the number of testcases.
Each testcase is denoted by a line containing four integers n, x, y, d (1≤n,d≤109, 1≤x,y≤n) — the number of pages, the starting page, the desired page, and the number of pages scrolled by pressing one button, respectively.
第一行包含一个整数 t(1≤t≤103)—— 测试用例的数量。
每个测试用例由一行表示,该行包含四个整数 n、x、y、d(1≤n,d≤109,1≤x,y≤n)—— 分别表示总页数、起始页、目标页以及按一次按钮所滚动的页数。
输出格式
Print one line for each test.
If Vasya can move from page x to page y, print the minimum number of times he needs to press a button to do it. Otherwise print −1.
每个测试用例输出一行。
如果瓦西娅可以从第 x 页移动到第 y 页,则输出他需要按按钮的最少次数;否则输出 −1。
输入输出样例
输入#1
3 10 4 5 2 5 1 3 4 20 4 19 3
输出#1
4 -1 5
说明/提示
In the first test case the optimal sequence is: 4→2→1→3→5.
In the second test case it is possible to get to pages 1 and 5.
In the third test case the optimal sequence is: 4→7→10→13→16→19.
在第一个测试用例中,最优序列为:4→2→1→3→5。
在第二个测试用例中,可以到达页面 1 和 5。
在第三个测试用例中,最优序列为:4→7→10→13→16→19。
输入解题思路,AI测评打分。不知道怎么写?