题库/J0102

#J0102. 【22CSPJ普及组】解密(decode)

    传统题 难度: 普及− 标签>一本通代数表达式与等式变形有序查找与二分边界中间结果范围与安全类型提升
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

J0102 · 【22CSPJ普及组】解密(decode)

退出在线编程模式
普及− 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交

题目描述

给定一个正整数 kk,有 kk 次询问,每次给定三个正整数 nin_i, eie_i, did_i,求两个正整数 pip_i, qiq_i, 使 ni=pi×qin_i = p_i × q_i, ei×di=(pi−1)(qi−1)+1e_i × d_i = (p_i − 1)(q_i − 1) + 1。

输入

第一行一个正整数 kk,表示有 kk 次询问。 接下来 kk 行,第 ii 行三个正整数 nin_i, did_i, eie_i。

输出

输出 kk 行,每行两个正整数 pip_i, qiq_i 表示答案。 为使输出统一,你应当保证 pip_i ≤ qiq_i。 如果无解,请输出 NONO。

输入样例

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

输出样例

2 385
NO
NO
NO
11 78
3 241
2 286
NO
NO
6 88

提示

【数据范围】 以下记 m=n−e×d+2m = n − e × d + 2。 保证对于 100% 的数据,1≤k≤1051 ≤ k ≤ 10^5,对于任意的 11 ≤ ii ≤ kk,11 ≤ nin_i ≤ 101810^{18}, 11 ≤eie_i × did_i ≤ 101810^{18}, 11 ≤ mm ≤ 10910^9。

</td>
测试点编号 k ≤ n ≤ m ≤ 特殊性质
1103103 103保证有解
2无
31096 ×104保证有解
4无
5109保证有解
6无
71051018保证若有解则 p = q
8保证有解
9无
10