A85977.「WC2021」斐波那契

NOI/NOI+/CTSC

通过率:0%

时间限制:1.00s

内存限制:512MB

题目描述

众所周知,小葱同学擅长计算,尤其擅长计算组合数。但是对组合数有了充分研究的小葱同学对组合数失去了兴趣,而开始研究数列。

我们定义 F0=aF_0 = a,F1=bF_1 = b,Fi=(Fi−1+Fi−2) mod mF_i = (F_{i-1} + F_{i-2}) \bmod m(i≥2i \ge 2)。

现在给定 nn 组询问,对于每组询问请找到一个最小的整数 pp,使得 Fp=0F_p = 0。

输入格式

第一行两个整数 n,mn, m,代表询问的组数和每组计算中的模数。

接下来 nn 行每行两个整数 a,ba, b,代表一组询问中 F0F_0 和 F1F_1 的值。

输出格式

对于每组询问,输出一行一个整数 pp 代表答案。如果这样的 pp 不存在,输出 -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≤1051 \le n, m \le {10}^5,0≤a,b<m0 \le a, b < m。

每个测试点的具体限制见下表:

测试点编号 n,m≤n, m \le 特殊限制
1∼21 \sim 2 10001000 无
3∼43 \sim 4 105{10}^5 mm 是质数
5∼65 \sim 6 105{10}^5 m=p1p2⋯pkm = p_1 p_2 \cdots p_k,其中 pip_i 是两两不同的质数
7∼107 \sim 10 105{10}^5 无

输入解题思路,AI测评打分。不知道怎么写?

首页