P6731: ​解密(decode)

传统题
1.000s 时间限制
512MB 内存限制
180 提交
39 解决

【题目描述】
【题目描述】
给定一个正整数 k,有 k 次询问,每次给定三个正整数 ni , ei , di,求两个正整数 pi , qi 使 ni = pi × qi ,  ei × di = (pi − 1)(qi − 1) + 1
【输入格式】
从文件 decode.in 中读入数据。
第一行一个正整数 k,表示有 k 次询问。
接下来 k 行,第 i 行三个正整数 ni , di , ei
【输出格式】
输出到文件 decode.out 中。
输出 k 行,每行两个正整数 pi , qi 表示答案。
为使输出统一,你应当保证 pi ≤ qi
如果无解,请输出 NO
【样例 1 输入】
10
770  77  5
633  1  211
545  1  499
683  3  227
858  3  257
723  37  13
572  26  11
867  17  17
829  3  263
528  4  109
【样例 1 输出】
2  385
NO
NO
NO
11  78
3  241
2  286
NO
NO
6  88
【样例 2
见选手目录下的 decode/decode2.in decode/decode2.ans
【样例 3
见选手目录下的 decode/decode3.in decode/decode3.ans
【样例 4
见选手目录下的 decode/decode4.in decode/decode4.ans
【数据范围】
以下记 m = n − e × d + 2
保证对于 100% 的数据,1 ≤ k ≤ 105,对于任意的 1 ≤ i ≤ k,1 ≤ ni ≤ 1018 , 1 ≤
ei × di ≤ 1018 , 1 ≤ m ≤ 109
 
测试点编号
k
n
m
特殊性质
1
103
103
103
保证有解
2

3
109
6×104
保证有解
4

5
109
保证有解
6

7
105
1018
保证若有解则p=q
8
保证有解
9

10
 

题目类型~

CSP2022-J 

咻咻~

提交答案 状态