题目描述
原题来自:SDOI 2011
你被要求设计一个计算器完成以下三项任务:
给定
y,z,p
y,z,p,计算
y^z\bmod p
y
z
modp 的值;
给定
y,z,p
y,z,p,计算满足
x\times y\equiv z\ (\bmod p\ )
x×y≡z (modp ) 的最小非负整数
x
x;
给定
y,z,p
y,z,p,计算满足
y^x\equiv z\ (\bmod p\ )
yx≡z (modp ) 的最小非负整数
x
x。
输入
输入包含多组数据。
第一行包含两个正整数
T,K
T,K 分别表示数据组数和询问类型(对于一个测试点内的所有数据,询问类型相同);
以下
T
T 行每行包含三个正整数
y,z,p
y,z,p,描述一个询问。
输出
对于每个询问,输出一行答案。
对于询问类型
2
2 和
3
3,如果不存在满足条件的,则输出 Orz, I cannot find x!,注意逗号与 I 之间有一个空格。
样例输入
【样例输入1】
3 1
2 1 3
2 2 3
2 3 3
【样例输入2】
3 2
2 1 3
2 2 3
2 3 3
样例输出
【样例输出1】
2
1
2
【样例输出2】
2
1
0
提示
数据范围与提示
对于全部数据,
1\le y,z,p\le 10^9,1\le T\le 10
1≤y,z,p≤109,1≤T≤10,且保证
p
p 为质数。
来源/分类
ybttg 扩展欧几里德算法 快速幂