A85977.「WC2021」斐波那契
NOI/NOI+/CTSC
通过率:0%
时间限制:1.00s
内存限制:512MB
题目描述
众所周知,小葱同学擅长计算,尤其擅长计算组合数。但是对组合数有了充分研究的小葱同学对组合数失去了兴趣,而开始研究数列。
我们定义 F0=a,F1=b,Fi=(Fi−1+Fi−2)modm(i≥2)。
现在给定 n 组询问,对于每组询问请找到一个最小的整数 p,使得 Fp=0。
输入格式
第一行两个整数 n,m,代表询问的组数和每组计算中的模数。
接下来 n 行每行两个整数 a,b,代表一组询问中 F0 和 F1 的值。
输出格式
对于每组询问,输出一行一个整数 p 代表答案。如果这样的 p 不存在,输出 -1。
输入输出样例
输入#1
4 5 0 1 1 2 2 3 3 4
输出#1
0 3 2 -1
输入#2
1 6 4 4
输出#2
3
说明/提示
对于所有测试点:1≤n,m≤105,0≤a,b<m。
每个测试点的具体限制见下表:
| 测试点编号 | n,m≤ | 特殊限制 |
|---|---|---|
| 1∼2 | 1000 | 无 |
| 3∼4 | 105 | m 是质数 |
| 5∼6 | 105 | m=p1p2⋯pk,其中 pi 是两两不同的质数 |
| 7∼10 | 105 | 无 |