题意:
输入一个数 n ,后面有 n 个字符串输入,将这些字符串拼接成一整串,输出按字典序排列最小的一串。
iuput:
4 abba abacaba bcd eroutput:
abacabaabbabcder
分析:
水题,可以用容器string定义字符串,然后将写一个比较函数,直接调用sort排序,就好。注意:比较函数是比较字符串加和后的字典序。
代码:
#include <bits/stdc++.h>
using namespace std;
const int maxn=50000+5;
string s[maxn];
int cmp (string a,string b)
{
return a+b<b+a;
}
int main()
{
int n;
while (~scanf ("%d",&n) )
{
for (int i=0; i<n; ++i)
cin >> s[i];
sort (s,s+n,cmp);
for (int i=0; i<n; ++i)
cout << s[i];
cout <<endl;
}
return 0;
}

本文介绍了一道编程题目,任务是输入多个字符串后,通过特定方式排序并拼接成一个新字符串,最终输出按字典序排列最小的字符串组合。文章提供了完整的C++实现代码,包括自定义字符串比较函数及sort排序应用。

223

被折叠的 条评论
为什么被折叠?



