CF825D Suitable Replacement
题目描述
给定两个只包含小写拉丁字母的字符串 $s$ 和 $t$,其中字符串 $s$ 中还可以包含字符 '?'。
字符串 $s$ 的适用度按照如下方式计算:
可以任意次交换 $s$ 中任意两个字母的位置。在所有通过这种方式得到的字符串 $s$ 中,选择能够包含不相交的字符串 $t$ 的出现次数最多的那个。适用度即为这个最大出现次数。
你需要将 $s$ 中的所有 '?' 字符替换为小写拉丁字母,使得字符串 $s$ 的适用度最大。
输入格式
第一行输入字符串 $s$($1 \leq |s| \leq 10^6$)。
第二行输入字符串 $t$($1 \leq |t| \leq 10^6$)。
输出格式
输出将 '?' 替换为小写拉丁字母后得到的字符串 $s$,使得其适用度最大。
如果有多种适用度最大的方案,输出其中任意一种即可。
说明/提示
在第一个样例中,字符串 "baab" 可以通过交换操作变成 "abab",这样就有适用度 $2$。因此 "baab" 的适用度也是 $2$。
在第二个样例中,最大适用度为 $1$,这样的字符串有很多种,"azbz" 就是其中之一。
在第三个样例中,$s$ 中没有 '?' 字符,适用度为 $0$。
由 ChatGPT 5 翻译