P1067
//类似冒泡排序
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int n;
cin>>n;
string a[30];
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n-1;i++)
{
for(int j=i+1;j<=n;j++)
{
if(a[j]+a[i]>a[i]+a[j])
{
string t=a[j];
a[j]=a[i];
a[i]=t;
}
}
}
for(int i=1;i<=n;i++)
{
cout<<a[i];
}
cout<<endl;
return 0;
}
//由于没有仔细看样例二的错误
// #include<iostream>
// #include<cstring>
// #include<algorithm>
// using namespace std;
// string st[20],sum;
// bool cmp(string a,string b)
// {
// return a>b;
// }
// int main()
// {
// int n;
// cin>>n;
// for(int i=1;i<=n;i++)
// {
// cin>>st[i];
// }
// sort(st+1,st+n+1,cmp);
// for(int i=1;i<=n;i++)
// {
// sum+=st[i];
// }
// cout<<sum<<endl;
// return 0;
// }