记录编号 320354 评测结果 AAAAAAAAAA
题目名称 [NOIP 2010冲刺十]数字积木 最终得分 100
用户昵称 Gravatarjmisnal 是否通过 通过
代码语言 C++ 运行时间 0.108 s
提交时间 2016-10-11 21:06:59 内存使用 0.51 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
struct data{
	char ch[205];
}node[1005];
int n;
bool cmp(data a,data b)
{
	int la=strlen(a.ch),lb=strlen(b.ch);
	int t=max(strlen(a.ch),strlen(b.ch));	
	for(int i=0;i<t;i++)
	{
		if(a.ch[i%la]>b.ch[i%lb])return 1;
	//	else if(a.ch[i%la]==b.ch[i%la])continue;
		else if(a.ch[i%la]<b.ch[i%lb])return 0;
	}
}
int main()
{
	freopen("brick.in","r",stdin);
	freopen("brick.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%s",node[i].ch);
	sort(node+1,node+n+1,cmp);
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<strlen(node[i].ch);j++)
			printf("%c",node[i].ch[j]);
	
	}
	return 0;
}