虽然只是个普通的普及
但我还要写一些
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n;
string s[30];
bool cmp(string a,string b){
int al=a.length();
int bl=b.length();
int x=0;
int y=0;
int c=max(al,bl);
for(int i=c-1;i>=0;--i){
if(a[x]==b[y]){
x=min(x+1,al-1);
y=min(y+1,bl-1);
}
if(a[x]<b[y])
return 0;
if(a[x]>b[y])
return 1;
}
return 1;
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;++i){
cin>>s[i];
}
// cout<<cmp(s[3],s[4]);
sort(s+1,s+n+1,cmp);
for(int i=1;i<=n;++i){
cout<<s[i];
}
return 0;
}