题意:
输入一个数 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;
}