#Q1022. Normal No More

Normal No More

题目背景

全是模板题的模拟赛真无聊。

题目描述

你有一个长度为 nn 的字符串 ss,给定长度为 nn 的模板字符串 tt,你需要重排 ss 的所有字符使其和 tt 处处不同。保证有解

两个长度为 nn 的字符串 sstt 处处不同,当且仅当对于 11nn 之间(包括 11nn)的所有正整数 iiss 的第 ii 个字符和 tt 的第 ii 个字符都不同。

输入格式

第一行输入正整数 nn

第二行输入字符串 ss

第三行输入字符串 tt

输出格式

输出一个长度为 nn 的字符串,代表满足要求的 ss 的重排中字典序最小的一个。

对于两个字符串 a,ba,b,当且仅当满足以下条件之一时,aa 的字典序小于 bb

  • aabb 的前缀。
  • 存在正整数 kk,使得 aabb 的前 k1k-1 个字符均相同,且 aa 的第 kk 个字符小于 bb 的第 kk 个字符。
4
abcc
bbbc
accb
4
aaac
bbbc
aaca

提示

样例解释 1

字符串 ss 中的字母 b 必须放在最后一个字符,否则不满足新字符串和 tt 处处不同。注意 aacb 不是 ss 的重排(其中含有 22 个字母 a,而 ss 中仅含有 11 个字母 a),尽管其和 tt 处处不同。

数据范围

对于 40%40\% 的数据,1n201\le n\le20
对于 100%100\% 的数据,1n5×1031\le n\le5\times10^3,字符串中仅可能包含小写字母 abc

Bonus\text{Bonus}(不计入分数,可供挑战):1n2×1061\le n\le2\times10^6