一开始我以为是选高位大的并且选位数少的 如90 和9选9,但后来想到989 和98呢 明显98998>98989 好恶心
然后我觉得直接拼接起来比较不就好了嘛!
sort不支持char二维数组的样子。然后就用string了。。。。。。。
#include<cstdio>
#include<string>
#include<algorithm>
#include<iostream>
using namespace std;
const int MAXN=50+10;
string data[MAXN];
bool compare(const string &a,const string &b) //a<b?
{
return a+b<b+a;
}
int main()
{
int n;
while(scanf("%d",&n),n)
{
for(int i=0;i<n;i++)
cin>>data[i];
sort(data,data+n,compare);
for(int i=n-1;i>=0;i--)
cout<<data[i];
printf("\n");
}
}