【第一遍以为题目乱码了】HDU 2673—shǎ崽 OrOrOrOrz
题目:点击打开链接
这个题个人还是感觉STL简单一些(比数组强),一遍排序就解决了,也不用管别的,排完无脑pop_front,pop_back就行了。。empty并不能很好的成对判断,个人建议还是把最后的一组给手动模拟了,有可能PE的,至少看状态,HDU同页的五虎大神就PE了。。
#include <iostream>#include <list>#include <algorithm>using namespace std;int cmp(int a,int b){return a>b;}int main(){int testcase;while(cin>>testcase){list<int> pack;for(int i=0;i<testcase;i++){int a;cin>>a;pack.push_back(a);}pack.sort();int g=pack.size();if(g%2==1){while(g>1){cout<<pack.back()<<" ";pack.pop_back();cout<<pack.front()<<" ";pack.pop_front();g-=2;}cout<<pack.back(); //最后一个的情况请手动模拟,这是list容器的局限性 cout<<endl;}else{while(g>2){cout<<pack.back()<<" ";pack.pop_back();cout<<pack.front()<<" ";pack.pop_front();g-=2;}cout<<pack.back()<<" ";pack.pop_back();cout<<pack.back();pack.pop_back();cout<<endl;}}return 0;}