AT_utpc2022_a.Shuffle and GCD

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对于正整数 NN,定义 f(N)f(N) 如下:

  • 令 SS 为将 NN 的各位数字重新排列所能得到的所有整数的集合。注意,如果重新排列后数字开头出现 00,应视作前导零。比如,当 N=102N=102 时,S={12,21,102,120,201,210}S=\lbrace 12,21,102,120,201,210\rbrace。f(N)f(N) 定义为能整除 SS 中所有元素的最大整数。

给定一个不超过 101810^{18} 的正整数 KK。判断是否存在一个不超过 101810^{18} 的正整数 NN,满足 f(N)=Kf(N)=K。如果存在,输出其中一个满足条件的 NN;如果不存在,输出 −1-1。

有 TT 个测试用例,请分别回答每个测试用例。

输入格式

输入采用如下格式从标准输入读入。

TT
case1\mathrm{case}_1
⋮\vdots
caseT\mathrm{case}_T

每个测试用例为一行,内容如下:

KK

输出格式

输出 TT 行。第 i (1≤i≤T)i\ (1\leq i \leq T) 行,对应第 ii 个测试用例,输出一个满足 f(N)=Kf(N)=K 的 NN(任意一个即可),如果不存在这样的 NN,则输出 −1-1。

输入输出样例

  • 输入#1

    2
    3
    10

    输出#1

    123
    -1

说明/提示

样例解释 1

对于第 11 个测试用例,当 N=123N=123 时,S={123,132,213,231,312,321}S=\lbrace123,132,213,231,312,321\rbrace,这些数的最大公约数为 33,所以 f(N)=3f(N)=3,因此这个输出是正确的。

对于第 22 个测试用例,能够证明不存在 NN 满足 f(N)=10f(N)=10。

数据范围

  • 所有输入均为整数
  • 1≤T≤1041 \leq T \leq 10^4
  • 1≤K≤10181 \leq K \leq 10^{18}

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页