uva10905
/*
很好的字符串 比较方法 很多个字符串 组成的 数字
需要最大
然后 比较 a和b 是 比较a+b 和b+a 的大小
*/
#include<cstdio>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
struct point{
char str[100];
}T[55];
bool cmp(point A,point B){
int i,a=strlen(A.str),b=strlen(B.str);
point C=A,D=B;
for(i=0;i<b;i++)
C.str[a+i]=B.str[i];
for(i=0;i<a;i++)
D.str[b+i]=A.str[i];
for(i=0;i<a+b;i++)
if(C.str[i]!=D.str[i]){ return C.str[i]>D.str[i]; }
return true;
}
int main()
{
int n,i;
char sst[15];
while(true){
scanf("%d",&n);
if(n==0) break;
for(i=0;i<n;i++)
scanf("%s",T[i].str);
sort(T,T+n,cmp);
for(i=0;i<n;i++)
printf("%s",T[i].str);
printf("\n");
}
return 0;
}

浙公网安备 33010602011771号