问题 2414 --数字替换

2414: 数字替换

题目描述

  味味很喜欢玩一个数字替换的游戏,数字替换游戏是这样的:给出一个n位正整数a,然后再给你一个长度为m的数字序列b,味味可以用b中的一些数字与a中各个位置上的数字进行一对一的交换(当然也可以选择不交换)。当然b中的每个位置上的数字最多只能被使用一次。这个游戏的目的是经过一系列替换后,使a的数值达到最大。
味味很聪明,在位数不多的情况下,总能快速的求出最后a的最大数值,但是当n很大时,味味就无能为力了,所以她希望会写程序的你帮助她快速的求解a最后能到达的那个最大值。

输入

共包含三行。第一行两个用空格隔开的正整数 n,m。
第二行一个正整数a(a的最高位必定不是0)。
第三行一个长度为m的数字序列b。

输出

仅包含一行一个数值,表示 a 最大可能达到的数值(输出不能含前导 0)。

样例输入输出

输入#1 复制
4 3
1024
010
输出#1 复制
1124
输入#2 复制
3 6
876
123459
输出#2 复制
976

提示

样例1说明:
b 中的一个1和a中的第二位上的0进行交换。
数据范围:
对于20%的数据 1≤n,m≤10
对于50%的数据 1≤n,m≤2000
对于100%的数据 1≤n,m≤100000

序号 标题 作者 发表时间 费用 订购数 操作