#WC018. 最优重排

最优重排

题目描述

灰有字符串 aabbcc。她希望重排 aa(即交换 aa 中的一些字母,也可以不进行交换)获得一个字符串 ss,使得它包含最多的不重叠子串,这些子串要么等于 bb,要么等于 cc。字符串 xx 的子串是由 xx 中连续的一段字符构成的字符串。如果有两个子串在 xx 的某个位置 ii 上重叠,则称这两个子串是重叠的。

你能帮灰找到一种可能的字符串 ss 吗?

输入格式

第一行包含字符串 aa,第二行包含字符串 bb,第三行包含字符串 cc1a,b,c1051 \le |a|, |b|, |c| \le 10^{5},其中 x|x| 表示字符串 xx 的长度)。

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

注意,可能存在 bbcc 完全相同的情况。

输出格式

输出任意一个满足条件的字符串 ss。如果存在多种答案,输出其中任意一个即可。

输入输出样例 #1

输入 #1

aaa
a
b

输出 #1

aaa

输入输出样例 #2

输入 #2

pozdravstaklenidodiri
niste
dobri

输出 #2

nisteaadddiiklooprrvz

输入输出样例 #3

输入 #3

abbbaaccca
ab
aca

输出 #3

ababacabcc

说明/提示

在第三个样例中,最优解在第 121\sim2 位(ab)、第 343\sim4 位(ab)、第 575\sim7 位(aca)分别出现了三个不重叠的子串等于 bbcc。在这个样例中,也有许多其他最优解,其中之一是 acaababbcc