CF1617A.Forbidden Subsequence

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Forbidden Subsequence

题目描述

给定字符串 SSTT,它们均由小写英文字母组成。保证 TT 是字符串 abc 的一个排列。

请你找到字符串 SS',即 SS 的字典序最小的一个排列,要求 TT 不是 SS' 的子序列。

字符串 aa 是字符串 bb 的一个排列,当且仅当每个不同字符在 aabb 中出现的次数相同。

字符串 aa 是字符串 bb 的一个子序列,当且仅当可以通过删除 bb 中的若干(可以为零或全部)字符得到 aa

字符串 aa 的字典序小于字符串 bb,当且仅当满足以下条件之一:

  • aabb 的前缀,且 aba \ne b
  • aabb 第一个不同的位置,aa 的字母在字母表中比 bb 的对应字母更靠前。

输入格式

每组测试包含多个测试用例。第一行包含一个整数 tt1t10001 \le t \le 1000),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个字符串 SS1S1001 \le |S| \le 100),由小写英文字母组成。

每个测试用例的第二行包含一个字符串 TT,它是字符串 abc 的一个排列(因此 T=3|T| = 3)。

注意所有测试用例中 S|S| 的总和没有限制。

输出格式

对于每个测试用例,输出一个字符串 SS',即 SS 的字典序最小的排列,且 TT 不是 SS' 的子序列。

说明/提示

在第一个测试用例中,aaaabbc 和 aaaabcb 都比 aaaacbb 字典序小,但它们都包含 abc 作为子序列。

在第二个测试用例中,abccc 是 cccba 的最小排列,且不包含 acb 作为子序列。

在第三个测试用例中,bcdis 是 dbsic 的最小排列,且不包含 bac 作为子序列。

由 ChatGPT 4.1 翻译

样例

7
abacaba
abc
cccba
acb
dbsic
bac
abracadabra
abc
dddddddddddd
cba
bbc
abc
ac
abc
aaaacbb
abccc
bcdis
aaaaacbbdrr
dddddddddddd
bbc
ac

在线编程 IDE

建议全屏模式获得最佳体验