Sicily/1688. Soldiers
2011-08-21 14:27 Min·zc 阅读(182) 评论(0) 编辑 收藏 举报讲所有的士兵按照身高排序,然后每次分别从首位各选择一个士兵加入队列
可以讲士兵想象成数轴上的点,这样首尾取数一定可以保证相邻士兵的身高差不同
#include <iostream>
#include <algorithm>#include <memory.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int soldiers[10010];
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>soldiers[i];
sort(soldiers,soldiers+n);
int* head=soldiers;
int* rear=soldiers+n-1;
for(int i=0;i<=n/2;i++)
{
cout<<*head<<" ";
head++;
if(rear>head)
cout<<*rear<<" ";
rear--;
}
cout<<endl;
}
}