比赛 2016-10-11 4 syz 评测结果 AAAWAWWWAA
题目名称 数字积木 最终得分 60
用户昵称 Bennettz 运行时间 0.016 s
代码语言 C++ 内存使用 0.48 MiB
提交时间 2016-10-11 20:11:43
显示代码纯文本
#include <cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
struct a1{
	char b[201];
}a[1000];
int n,i=-1;
int mycomp( a1 x,a1 y){
	int cd,qw=0;
	while(x.b[qw]!='\0'&&y.b[qw]!='\0'){
		if(x.b[qw]>y.b[qw])return 1;
		else if(x.b[qw]<y.b[qw])return 0;
		qw++;
	}
	cd=qw;
	if(x.b[qw]=='\0'&&y.b[qw]!='\0'){
		while(y.b[qw]!='\0'){
			if(x.b[qw%cd]>y.b[qw])return 1;
			else if(x.b[qw%cd]<y.b[qw])return 0;
			qw++;
		}
	}
	else if(x.b[qw]!='\0'&&y.b[qw]=='\0'){
		while(x.b[qw]!='\0'){
			if(x.b[qw]>y.b[qw%cd])return 1;
			else if(x.b[qw%cd]<y.b[qw])return 0;
			qw++;
		}
	}
	return 0;
}
int main()
{
	freopen("brick.in","r",stdin);
	freopen("brick.out","w",stdout);
	scanf("%d",&n);
	n--;
	while(i++<n){
		scanf("%s",&a[i].b);
	}
	sort(a,a+n+1,mycomp);
	i=-1;
	while(i++<n){
		printf("%s",a[i].b);
	}
    return 0;
}