#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int comp(const void* p, const void* q)
{
const char* str1 = (const char*)p;
const char* str2 = (const char*)q;
return strcmp(str2, str1);
}
int main()
{
int n,i;
while(scanf("%d",&n)!=EOF)
{
char num[n][20], str[20];
for (i=0;i<n;++i)
{
scanf("%s",str);
strcpy(num[i], str);
}
qsort(num,n,sizeof(num[0]),comp);
for (i=0;i<n;++i) printf("%s",num[i]);
}
return 0;
}
设有 n 个正整数,将它们连成一排,组成一个最大的多位数。例如:输入 n = 3 以及三个正整数 13, 312, 343, 则连成的最大数为 34331213
输入描述
第 1 行输入正整数个数 n, 下面 n 行输入 n 个整数,n 不大于 100, 每个正整数不超过 20 位
输出描述
一行,组成的最大整数,输入保证输出结果不超过 200 位
样例输入
4
7
13
4
246
样例输出
7424613