解题思路: 因为要最小字典序,所以把加入的字符串排序,把越小的放越前面。
注意事项: 还有一个很重要的问题就是,原序列的顺序是不能动的,所以插入只能是小于原字符串时候插入字符,还要注意把剩下的接上去。
参考代码:
#include <bits/stdc++.h>
using namespace std;
int n, m;
string s, t, ans;
int main()
{
cin >> n >> m;
cin >> s >> t;
sort(t.begin(), t.end());
int j = 0;
for (int i = 0; i < n; i++)
{
while (j < m && s[i] > t[j])
{
ans += t[j];
j++;
}
ans += s[i];
}
for (int i = j; i < m; i++)
ans += t[i];
cout << ans << endl;
return 0;
}
0.0分
6 人评分
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:1523 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C++代码)(手动优化一下计算)浏览:1367 |
高精度加法 (C++代码)(大数加法)浏览:1008 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:643 |
P1002 (C语言代码)浏览:1021 |
不容易系列2 (C语言代码)浏览:643 |
C语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:909 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:1001 |
C语言训练-尼科彻斯定理 (C语言代码)浏览:511 |
企业奖金发放 (C语言代码)浏览:2469 |