在信天翁马戏团管理工作(是的,它由一群小丑运行),你刚刚写完一个程序,其输出是按长度排列的名称列表(因此每个名称至少和前面的名字一样长)。但是,您的老板不喜欢输出的外观,而是希望输出看起来更对称,顶部和底部的字符串较短,中间的字符串较长。他的规则是,每对名字都属于列表的两端,并且该列表中的第一个名字始终位于列表的顶部。在下面的第一个示例中,博和帕特是第一对,让和凯文是第二对,等等。
输入
输入由一组或多组字符串组成,后跟仅包含值 0 的最后一行。每个集合以一个包含整数 n 的行开头,该线是集合中的字符串数,后跟 n 个字符串,每行一个,按长度按非降序排序。没有一个字符串包含空格。每组至少有一个且不超过 15 个字符串。每个字符串最多 25 个字符长。
输出
对于每个输入集,打印行上的"SET n",其中 n 从 1 开始,然后是输出集,如示例输出所示。
示例输入
7
Bo
Pat
Jean
Kevin
Claude
William
Marybeth
6
Jim
Ben
Zoe
Joey
Frederick
Annabelle
5
John
Bill
Fran
Stan
Cece
0
样品输出
SET 1
Bo
Jean
Claude
Marybeth
William
Kevin
Pat
SET 2
Jim
Zoe
Frederick
Annabelle
Joey
Ben
SET 3
John
Fran
Cece
Stan
Bill
#include<iostream>
#include<string>
using namespace std;
void print(int n)
{
string s;
cin>>s;
cout<<s<<endl;
if(--n)
{
cin>>s;
if(--n)
print(n);
cout<<s<<endl;
}
}
int main()
{
string s;
int n,i=1;
cin>>n;
while(n!=0)
{
cout<<"SET"<<" "<<i<<endl;
print(n);
cin>>n;
i++;
}
return 0;
}