题意:
输入n个字符串,将这n个字符串加起来,求最小字典序的字符串
例:
Input
5
x
xx
xxa
xxaa
xxaaa
Output
xxaaaxxaaxxaxxx
分析:
自己像个傻逼一样,写了半天写了个自定义排序函数,虽然过了,但是用时太长了,看了一下cf上别人的代码,我真是太蠢了。。。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=5e4+5;
string s[N];
bool cmp(const string &a,const string &b){return (a+b)<(b+a);}
int main()
{
int n; 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];
return 0;
}