题意:
将所有的字符串连接使得字典序最小
思路:
精妙!
#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
#define ll long long
#define max_ 100010
#define mod 1000000007
#define inf 0x3f3f3f3f
int n;
string s[50010];
bool cmp(const string &a,const string &b)
{
return a+b<b+a;
}
int main(int argc, char const *argv[]) {
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
cin>>s[i];
}
sort(s+1,s+1+n,cmp);
for(int i=1;i<=n;i++)
{
cout<<s[i];
}
cout<<endl;
return 0;
}