题目名称 3778. [CSP 2022J]解密
输入输出 csp2022pj_decode.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2022-10-29加入
开放分组 全部用户
提交状态
分类标签
NOIP/CSP 数学
分享题解
通过:22, 提交:85, 通过率:25.88%
Gravatar┭┮﹏┭┮ 100 0.238 s 0.00 MiB C++
Gravatar┭┮﹏┭┮ 100 0.354 s 0.00 MiB C++
Gravatar沙狐 100 0.400 s 0.00 MiB C++
Gravatarムラサメ 100 0.896 s 0.00 MiB C++
Gravatarムラサメ 100 0.948 s 0.00 MiB C++
Gravatar张通 100 1.174 s 0.00 MiB C++
GravatarLfc_HeSn 100 1.212 s 0.00 MiB C++
Gravatarmxr2022 100 1.213 s 0.00 MiB C++
Gravatar00000 100 1.216 s 0.00 MiB C++
Gravatar李宴彬 100 1.227 s 0.00 MiB C++
本题关联比赛
CSP2022普及组
关于 解密 的近10条评论(全部评论)
好家伙,我是小天才,我二分写假了(
GravatarLfc_HeSn
2022-11-09 21:16 1楼

3778. [CSP 2022J]解密

★   输入文件:csp2022pj_decode.in   输出文件:csp2022pj_decode.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目描述】

给定一个正整数 $k$,有 $k$ 次询问,每次给定三个正整数 $n_i,e_i,d_i$,求两个正整数 $p_i,q_i$,使 $n_i = p_i × q_i,e_i × d_i = (p_i -1)(q_i-1)+1$。

【输入格式】

第一行一个正整数 $k$,表示有 $k$ 次询问。

接下来 $k$ 行,第 $i$ 行三个正整数 $n_i,e_i,d_i$。

【输出格式】

输出 $k$ 行,每行两个正整数 $p_i,q_i$ 表示答案。

为使输出统一,你应当保证 $p_i ≤ q_i$。

如果无解,请输出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

【样例下载】

点击下载

【数据规模与约定】

以下记 $m = n - e × d +2$。

保证对于 $100\%$ 的数据,$1 ≤ k ≤ 10^5$,对于任意的 $1 ≤ i ≤ k, 1 ≤ n_i ≤ 10^{18},1 ≤ e_i × d_i ≤ 10^{18},1 ≤ m ≤ 10^9$。

【来源】

CSP 2022入门组 Task2