题目链接:1097
把小的排前面
AB《BA
时--让A在B前面--
代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct node{
int you;
char ch[12];
}dian[10010];
bool cmp(node xx,node yy)
{
char ch1[20]="\0",ch2[20]="\0";
strcat(ch1,xx.ch);strcat(ch1,yy.ch);
strcat(ch2,yy.ch);strcat(ch2,xx.ch);
if (strcmp(ch1,ch2)>=0)
{
xx.you=2;yy.you=1;
}
else
{
xx.you=1;yy.you=2;
}
return xx.you<yy.you;
}
int main()
{
int n;scanf("%d",&n);
for (int i=0;i<n;i++)
scanf("%s",dian[i].ch);
sort(dian,dian+n,cmp);
char cc[1000000]="1";
for (int i=0;i<n;i++)
strcat(cc,dian[i].ch);
int ll=strlen(cc);
for (int i=1;i<ll;i++)
{
printf("%c",cc[i]);
if (i%1000==0) printf("\n");
}
if ((ll-1)%1000!=0)
printf("\n");
return 0;
}