#CF2204E. 数位和拼接反演
数位和拼接反演
题目描述
对于一个正整数 (严格大于 ),字符串 按以下步骤构造:
- 初始时,这个字符串为空;
- 将数字 的十进制表示(无前导零)拼接在该字符串的右侧;
- 如果 ,构造过程结束;否则,把 替换成它的各位数字之和,回到步骤2继续构造。
例如: 的结果是 ; 的结果是 ; 的结果是 。
给你一个由数字组成的字符串 ,请你重新排列这个字符串中的所有字符,使得排列后的字符串恰好是某个正整数 对应的 。不允许删除任何字符,也不允许添加任何新字符。如果给定的字符串 本身就是某个 对应的 ,你可以直接保留原字符串不变。
保证输入的字符串一定能找到合法的排列方式。
输入格式
第一行输入一个整数 (),表示测试用例的数量。
接下来 行,每行输入一个仅由数字组成的字符串 ,表示对应的测试用例。
输出格式
对于每个测试用例,输出一行一个字符串,表示重排后的合法字符串。如果存在多个合法的答案,输出其中任意一个即可。
5
12735
1
011
99999299999999299959999999999999
4621467
75123
1
101
99999999999999999999999999992529
6442167
数据规模与约定
对于 的数据,满足 ,所有测试用例的字符串 长度之和不超过 。
来源
Codeforces Round #1055 (Div. 3) E https://codeforces.com/contest/2204/problem/E