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;
}


posted @ 2014-03-09 22:38  来自大山深处的菜鸟  阅读(145)  评论(0编辑  收藏  举报