解密|CSP-J 2022 第二轮(复赛)真题

1 秒 / 测试点 · 512 MiB

[CSP-J 2022] 解密

题目描述

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

输入格式

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

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

输出格式

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

为使输出统一,你应当保证 $p_i \leq 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
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 \times d + 2$。

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

::cute-table{tuack}

测试点编号$k \leq$$n \leq$$m \leq$特殊性质
$1$$10^3$$10^3$$10^3$保证有解
$2$$10^3$$10^3$$10^3$无
$3$$10^3$$10^9$$6\times 10^4$保证有解
$4$$10^3$$10^9$$6\times 10^4$无
$5$$10^3$$10^9$$10^9$保证有解
$6$$10^3$$10^9$$10^9$无
$7$$10^5$$10^{18}$$10^9$保证若有解则 $p=q$
$8$$10^5$$10^{18}$$10^9$保证有解
$9$$10^5$$10^{18}$$10^9$无
$10$$10^5$$10^{18}$$10^9$无

本卷题目

  1. 乘方
  2. 解密
  3. 逻辑表达式
  4. 上升点列

题目可直接阅读。页面加载后可编写 C++ 代码、运行样例并提交在线评测。

正在加载试卷…

意见反馈

无需登录也能反馈。管理员的回复可在“我的反馈”中查看。