yz的压压
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
dyz神发现了一种特殊的数字运算,称为"数字压力折叠"。对于一个正整数x,定义其压力操作为:
- 将x的各位数字倒叙排列并去除前导0得到x';
- 计算x+x' 得到新数字;
- 重复这个过程直到得到一个回文数 例如,对于x = 68 有:
- 第一次压力:68 + 86=154;
- 第二次压力:154 + 541 = 605;
- 第三次压力:605 + 506 = 1111 (是一个回文数)。 现在给定一个正整数 n 和最大操作次数 k,请判断:n 在最多 k 次折叠操作内(当然,也可以不操作)是否能变成回文数。如果能,输出最少操作次数得到的回文数和最少的操作次数;如果不能,输出第 k 次操作后的结果和 −1。
【名词解释】 回文数:一个数被称作回文数,当且仅当这个数从左往右读和从右往左读是相同的。
输入格式
每个测试文件均包含多组测试数据。第一行输入一个整数T() 代表数据组数,每组测试数据描述如下: 在一行上输入两个整数 ,()。
输出格式
对于每一组测试数据,新起一行:
- 如果在K词操作内得到回文数,在一行上输出两个整数,表示最少操作次数得到的该回文数,最少操作次数;
- 否则,在一行上输出两个整数,表示第k次操作侯的结果、固定的整数-1
样例
样例输入 1
4
68 3
68 2
196 10
1145 14
样例输出 1
1111 3
605 -1
18211171 -1
6556 1
提示
对于第一组测试数据,已经在题面中加以解释。
对于第二组测试数据,68 -> 154 -> 605(两次未得到回文数)
对于第三组测试数据,196是著名的 Lychrel 数,我们可以证明,在 10 次操作内无法得到回文数。
对于第四组测试数据,1145 -> 6556 一步得到回文数。