AT_utpc2022_a.Shuffle and GCD
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于正整数 N,定义 f(N) 如下:
- 令 S 为将 N 的各位数字重新排列所能得到的所有整数的集合。注意,如果重新排列后数字开头出现 0,应视作前导零。比如,当 N=102 时,S={12,21,102,120,201,210}。f(N) 定义为能整除 S 中所有元素的最大整数。
给定一个不超过 1018 的正整数 K。判断是否存在一个不超过 1018 的正整数 N,满足 f(N)=K。如果存在,输出其中一个满足条件的 N;如果不存在,输出 −1。
有 T 个测试用例,请分别回答每个测试用例。
输入格式
输入采用如下格式从标准输入读入。
T
case1
⋮
caseT
每个测试用例为一行,内容如下:
K
输出格式
输出 T 行。第 i (1≤i≤T) 行,对应第 i 个测试用例,输出一个满足 f(N)=K 的 N(任意一个即可),如果不存在这样的 N,则输出 −1。
输入输出样例
输入#1
2 3 10
输出#1
123 -1
说明/提示
样例解释 1
对于第 1 个测试用例,当 N=123 时,S={123,132,213,231,312,321},这些数的最大公约数为 3,所以 f(N)=3,因此这个输出是正确的。
对于第 2 个测试用例,能够证明不存在 N 满足 f(N)=10。
数据范围
- 所有输入均为整数
- 1≤T≤104
- 1≤K≤1018
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?