CF2050D Digital string maximization

题目描述

给你一个由 $0$ 至 $9$ 的数字组成的字符串 $s$ 。在一次运算中,您可以选取该字符串中除 $0$ 或最左边数字之外的任意数字,将其减少 $1$ ,然后将其与左边的数字对调。 例如,从字符串 $1023$ 中进行一次运算,可以得到 $1103$ 或 $1022$ 。 找出任意多次运算后所能得到的字典序最大的字符串。

输入格式

输入的第一行是一个整数 $t$ ( $1 \le t \le 10^4$ ) - 测试用例的数量。 每个测试用例由一行数字字符串 $s$ ( $1 \le |s| \le 2\cdot 10^5$ ) 组成,其中 $|s|$ 表示 $s$ 的长度。字符串不包含前导零。 保证所有测试用例的 $|s|$ 之和不超过 $2\cdot 10^5$ 。

输出格式

对于每个测试用例,在单独一行中打印其对应的答案。 ## 样例 #1 ### 样例输入 #1 ``` 6 19 1709 11555 51476 9876543210 5891917899 ``` ### 样例输出 #1 ``` 81 6710 33311 55431 9876543210 7875567711 ``` ### 样例解释 在第一个样例中,以下操作顺序是合适的: $19 \rightarrow 81$ . 在第二个样例中,适合使用以下操作序列: $1709 \rightarrow 1780 \rightarrow 6180 \rightarrow 6710$ . 在第四个样例中,以下操作序列是合适的: $51476 \rightarrow 53176 \rightarrow 53616 \rightarrow 53651 \rightarrow 55351 \rightarrow 55431$ .

说明/提示

In the first example, the following sequence of operations is suitable: $ 19 \rightarrow 81 $ . In the second example, the following sequence of operations is suitable: $ 1709 \rightarrow 1780 \rightarrow 6180 \rightarrow 6710 $ . In the fourth example, the following sequence of operations is suitable: $ 51476 \rightarrow 53176 \rightarrow 53616 \rightarrow 53651 \rightarrow 55351 \rightarrow 55431 $ .