CF1730C.Minimum Notation

普及-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You have a string ss consisting of digits from 00 to 99 inclusive. You can perform the following operation any (possibly zero) number of times:

  • You can choose a position ii and delete a digit dd on the ii-th position. Then insert the digit min⁡(d+1,9)\min{(d + 1, 9)} on any position (at the beginning, at the end or in between any two adjacent digits).

What is the lexicographically smallest string you can get by performing these operations?

A string aa is lexicographically smaller than a string bb of the same length if and only if the following holds:

  • in the first position where aa and bb differ, the string aa has a smaller digit than the corresponding digit in bb.

你有一个由数字 00 到 99(含)组成的字符串 ss。你可以执行以下操作任意次(可能为零次):

  • 选择一个位置 ii,删除第 ii 位上的数字 dd;然后将数字 min⁡(d+1,9)\min{(d + 1, 9)} 插入到任意位置(字符串开头、结尾,或任意两个相邻数字之间)。

通过执行这些操作,你能得到的字典序最小的字符串是什么?

当且仅当满足以下条件时,字符串 aa 的字典序小于长度相同的字符串 bb:

  • 在 aa 和 bb 首次出现差异的位置上,aa 中的数字比 bb 中对应位置的数字更小。

输入格式

The first line contains a single integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases. Then the test cases follow.

Each test case consists of a single line that contains one string ss (1≤∣s∣≤2⋅1051 \le |s| \le 2 \cdot 10^5) — the string consisting of digits. Please note that ss is just a string consisting of digits, so leading zeros are allowed.

It is guaranteed that the sum of lengths of ss over all test cases does not exceed 2⋅1052 \cdot 10^5.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 表示测试用例的数量。接下来是各测试用例。

每个测试用例由一行组成,该行包含一个字符串 ss(1≤∣s∣≤2⋅1051 \le |s| \le 2 \cdot 10^5)—— 该字符串仅由数字组成。请注意,ss 仅为一个数字字符串,因此允许前导零。

保证所有测试用例中字符串 ss 的长度之和不超过 2⋅1052 \cdot 10^5。

输出格式

Print a single string — the minimum string that is possible to obtain.

输出一个字符串——所能得到的最小字符串。

输入输出样例

  • 输入#1

    4
    04829
    9
    01
    314752277691991

    输出#1

    02599
    9
    01
    111334567888999

说明/提示

In the first test case:

  • Delete 88 and insert 99 at the end of the notation. The resulting notation is 0429904299.
  • Delete 44 and insert 55 in the 33-rd position of the notation. The resulting notation is 0259902599.

Nothing needs to be done in the second and third test cases.

在第一个测试用例中:

  • 删除 88,并在表示法末尾插入 99。得到的表示法为 0429904299。
  • 删除 44,并在表示法的第 33 个位置插入 55。得到的表示法为 0259902599。

第二个和第三个测试用例无需任何操作。

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

首页