CFCF2174A.Needle in a Haystack

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

你很幸运,知道了世界上所有重要问题的答案。这一次,答案是一个只由小写英文字母组成的字符串 ss。你希望隐藏这个字符串。

你还有另一个只由小写英文字母组成的字符串 tt。你需要将 tt 的字母重新排列,使得字符串 ss 至少作为一个子序列 ^{\text{∗}} 出现在 tt 中。在所有满足条件(即 tt 的某种排列包含 ss 作为子序列)的排列中,找到字典序最小 ^{\text{†}} 的那个。

^{\text{∗}} 序列 aa 是序列 bb 的子序列,如果 aa 可以通过删除 bb 中的若干(可以为零个或全部)元素,并保持剩余元素的相对顺序得到。

^{\text{†}} 如果字符串 aa 是字符串 bb 的前缀且 aba \ne b,或者在第一个不同的位置 aa 的该字符字母序在 bb 的对应字符之前,则 aa 的字典序小于 bb

输入格式

每个测试点包含多个测试用例。第一行包含测试用例个数 TT1T1041 \le T \le 10^4)。下面是每个测试用例的描述。

每个测试用例的第一行包含字符串 ss1s1051 \le |s| \le 10^5),其中 s|s| 表示字符串 ss 的长度。

每个测试用例的第二行包含字符串 ttst105|s| \le |t| \le 10^5)。

两个字符串都只包含小写英文字母。

所有测试用例中 t|t| 的总和不超过 10510^5

输出格式

对于每个测试用例,输出一行,仅包含一个字符串:通过重新排列 tt 的字母得到的、包含 ss 作为子序列的字典序最小的字符串。如果不存在这样的字符串,输出 “Impossible”。

输入输出样例

  • 输入#1

    3
    dcbe
    bedbaecfc
    babadab
    abacabadabacaba
    babaisyou
    flagiswin

    输出#1

    abcdcbeef
    aaaaabababccdab
    Impossible

说明/提示

在第一个测试用例中,abcdcbeef\mathtt{abc}\,\mathtt{dcbe}\,\mathtt{ef} 包含了 dcbe\mathtt{dcbe}

在第二个测试用例中,aaaaabababccdab\mathtt{aaaaa}\,\mathtt{baba}\,\mathtt{bcc}\,\mathtt{dab} 也包含了 babadab\mathtt{babadab}

可以证明这些字符串是满足条件的字典序最小的字符串。

在第三个测试用例中,无法通过 tt 的任意排列得到包含 ss 的字符串。

首页