#include<iostream>
#include<map>
#include<vector>
#include<utility>
#include<algorithm>
#include<string>
using namespace std;
int main(int argc, char *argv[]){
int num;
int caseNum=0;
while(cin>>num,num){
caseNum++;
multimap<int,string> mInput;
for(int i=0;i<num;i++){
string s;
cin>>s;
mInput.insert(pair<int, string>(s.length(),s));
}
int mapSize=mInput.size();
int vSize1, vSize2;
//even
if(mapSize%2==0){
vSize1=mapSize/2;
vSize2=mapSize/2;
}else{
vSize1=mapSize/2+1;
vSize2=mapSize/2;
}
vector<string> v1(vSize1);
vector<string> v2(vSize2);
int indexMap=0;
int indexV1=0;
int indexV2=0;
for(multimap<int, string>::iterator iter=mInput.begin();
iter!=mInput.end();
++iter){
indexMap++;
if(indexMap%2!=0){
v1[indexV1]=iter->second;
indexV1++;
}else{
v2[indexV2]=iter->second;
indexV2++;
}
}
cout<<"SET "<<caseNum<<endl;
for(vector<string>::iterator iter=v1.begin();
iter!=v1.end();
++iter){
cout<<*iter<<endl;
}
reverse(v2.begin(),v2.end());
for(vector<string>::iterator iter=v2.begin();
iter!=v2.end();
++iter){
cout<<*iter<<endl;
}
}
return 0;
}
POJ-2013
最新推荐文章于 2020-08-24 15:03:09 发布