小狗(求讲解)

小狗

描述

小 Q 是个爱狗狂魔,他饲养了 N(N<=2000)条中华田园犬狗和 M(M<=2000)条秋田犬,并且给每条狗取了一个英文名字,例如:Sally,Sussan,Lysa 等,为了方便起见,小 Q 登记时只会登记首字母,例如 Sally、Sussan、Lysa 只会登记为 S、S、L。现在中华田园犬和秋田犬分别从左至右各站成了一队。小 Q 准备带他们出去踏青了!但因为踏青的路实在太窄,小 Q 不得不在踏青前把两条队伍合成一队。那如何合呢?我们假设中华秋田犬所在的队伍为 A 队,秋田犬所在队伍为 B。最后合成的新队伍为 C。大家知道的如果从队伍中间选择小狗加入新队伍,容易使原队伍混乱,所以现在我们制定如下规则:

(1)每次从 A 队或者 B 队的头或者尾选取一条小狗加入到新的队伍 C 的尾部去(第一条选择的小狗为头)。

(2)重复(1)的操作,直到 A 队和 B 队的所有小狗都站到 C 队为止。

现在小 Q 想知道,按照这种规则,他登记的新队列的最小字典序为多大?

输入

第 1 行:两个整数 N 和 M.

第 2 行至第 N+1 行:每行一个大写字母,表示 A 队中小狗的头字母.

第 N+2 至 N+1+M 行:每行一个大写字母,表示 B 队中小狗的头字母.

输出

一行,得到的最小字典序的序列.

输入样例 1 

3 3
A
C
D
B
C
B

输出样例 1

ABBCCD

提示

【数据说明】

50%数据 1<=n,m<=100 100%数据 1<=n,m<=2000

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值