题目看起来比较难,写起来比较简单。
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct data
{
char s[100];
int num;
}a[25];
bool cmp(data x,data y)
{
return x.num<y.num;
}
int main()
{
int n,i,cas=0;
while(~scanf("%d",&n)&&n)
{
getchar();
for(i=0;i<n;i++)
{
scanf("%s",a[i].s);
a[i].num=strlen(a[i].s);
getchar();
}
sort(a,a+n,cmp);
printf("SET %d\n",++cas);
for(i=1;i<=n;i++)
{
if(i%2==1) printf("%s\n",a[i-1].s);
}
for(i=n;i>=1;i--)
{
if(i%2==0) printf("%s\n",a[i-1].s);
}
}
return 0;
}