#937. 跳石头

跳石头

【题目描述】

有B个石头围成一个圈,石头的编号分别为0~B-1。

一开始你在第S个石头上。

你可以在石头之间跳跃:如果你现在位于编号为x的石头上,那么你可以通过一次操作跳到编号为(x+A)%B的石头上。

现在给定两个非负整数L,R。若L≤R,你的目标是:跳到编号在[L,R]的石头,否则你的目标是:跳到编号在[L,B-1]的石头或编号在[0,R]的石头。

求达成目标的最少操作次数。

【输入格式】

第一行一个正整数T,为数据组数。

接下来T行,每行5个非负整数A,B,S,L,R,含义见题目描述。 【输出格式】

对于每组数据输出一行,表示最少操作次数。如果永远跳不到目标范围内的石头,输出“Poor PPS.”(不含引号)。

【输入样例​​1​**】**

5
3 4 2 3 3
2 4 0 1 1
2 4 1 3 0
0 7 3 6 5
0 7 3 4 4

【输出样例​​1​**】**

3
Poor PPS.
1
0
Poor PPS.

【输入/输出样例2/3/4/5/6】

见下发文件。

【样例解释】

对于第一组数据,操作路线为 2–1–0–3,共需3次。

对于第二组数据,起点为0,步长为 2,石子数为 4,显然能移到的石子编号必定为偶数,所以不可能到达第1个石头。

对于第三组数据,操作路线为1–3,只需1次。

对于第四组数据,不需移动。

对于第五组数据,起点不在目标范围内且无法移动,所以不可能到达。

【数据规模与约定】

对于20%的数据:1≤B≤10​^6^​,1≤T≤10;

对于另外20%的数据:0≤A≤10​^4^​,1≤T≤100;

对于另外20%的数据:S=0,L≤R,1≤R-L+1≤10​^5^​,1≤T≤10;

对于100%的数据:1≤B≤2*10​^9^​,0≤A≤2*10​^9^​,0≤S, L, R<B,1≤T≤1000。