| 比赛 | 防止浮躁的小练习v0.3 | 评测结果 | AWAWWWWWWW | 
    | 题目名称 | 数字积木 | 最终得分 | 20 | 
    | 用户昵称 | ImwaOuKur | 运行时间 | 0.188 s | 
    | 代码语言 | C++ | 内存使用 | 0.69 MiB | 
    | 提交时间 | 2016-10-12 16:53:12 | 
显示代码纯文本
#include <cstdio>
#include <cstring>
char sum[210000]={0};
char s[1010][210]={0};
char tmp[210]={0};
char tmp1[210]={0};
int n;
void qsort(int l,int r)
{
	if(l>r)
		return ;
	memset(tmp,0,sizeof(tmp));
	memset(tmp1,0,sizeof(tmp1));
	int i=l;
	int j=r;
	strcpy(tmp,s[l]);
	while(i!=j)
	{
		while(i<j && s[j][0]<=tmp[0])
			j--;
		while(i<j && s[i][0]>=tmp[0])
			i++;
		if(i<j)
		{
			strcpy(tmp1,s[i]);
			strcpy(s[i],s[j]);
			strcpy(s[j],tmp1);
		}
	}
	strcpy(s[l],s[i]);
	strcpy(s[i],tmp);
	qsort(l,i-1);
	qsort(i+1,r);
	return ;
}
int main()
{
	freopen("brick.in","r",stdin);
	freopen("brick.out","w",stdout);
	scanf("%d",&n);
	int i;
	for(i=1;i<=n;i++)
		scanf("%s",s[i]);
	qsort(1,n);
	for(i=1;i<=n;i++)
	{
		strcat(sum,s[i]);
	}
	printf("%s",sum);
	return 0;
}