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 翻译