5
ab
gdh
c
gaa
caa
--------------------------------
c ab caa gaa gdh
ab c caa gaa gdh
--------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
struct node
{
char str[1005];
}a[1005];
bool cmp1(node x,node y)
{
if(strlen(x.str)>strlen(y.str))
return 0;
else if(strlen(x.str)==strlen(y.str))
{
if(strcmp(x.str,y.str)>0)
return 0;
else return 1;
}
return 1;
}
bool cmp2(node i,node j)
{
if(strcmp(i.str,j.str)>0)
return 0;
else
return 1;
}
int main()
{
int num;
while(~scanf("%d",&num))
{
int i;
for(i=0;i<num;i++)
{
scanf("%s",a[i].str);
}
sort(a,a+num,cmp1);
for(i=0;i<num-1;i++)
printf("%s ",a[i].str);
printf("%s\n",a[i].str);
sort(a,a+num,cmp2);
for(i=0;i<num-1;i++)
printf("%s ",a[i].str);
printf("%s\n",a[i].str);
}
return 0;
}