HDU 2673:shǎ崽 OrOrOrOrz

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2673

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Problem Description

Acmer in HDU-ACM team are ambitious, especially shǎ崽, he can spend time in Internet bar doing problems overnight. So many girls want to meet and Orz him. But Orz him is not that easy.You must solve this problem first.
The problem is :
Give you a sequence of distinct integers, choose numbers as following : first choose the biggest, then smallest, then second biggest, second smallest etc. Until all the numbers was chosen .
For example, give you 1 2 3 4 5, you should output 5 1 4 2 3

 

 

Input

There are multiple test cases, each case begins with one integer N(1 <= N <= 10000), following N distinct integers.

 

 

Output

Output a sequence of distinct integers described above.

 

 

Sample Input

5 1 2 3 4 5

 

 

Sample Output

5 1 4 2 3

 

 

 

 

 

标准的水题,思路有什么好说么→_→我英语那么渣都看懂了【而且没用到翻译!还是说说好了2333

题目大意:依次把当前最大的数丢出去~【然后再捡回来!~2333

前几天竹竹和我说这道题很好玩,当时看了下题目觉得很简单也没做,这周就要C++期末考了,以我对fsk的热(liao)爱(jie)来说,不考vector简直不可能!vector是硬伤啊!我讨厌向量!感觉不好用!【没错就是感觉!我先入为主了怎么着!就是不喜欢QAQ为了考试就想把所有用到数组的题全用向量刷一遍好了【当然不可能,目前就拿这道水题练练手而已

加上这道题,我人生中使用vector的次数总!算!达!到!了!四!次!

记录一点黑历史以激励后人及自己:

1、第一次编译的时候没过,因为少了#include<vector>【我又不经常用vector谁记得住啊喂!!!

2、第二次还是没过,忘了sort需要头文件了。。QAQ【我百度了才知道vector可以用sort。。好像之前谁说过来着没注意听

3、这下不是编译的问题了,而是我根本不知道vector怎么输入!默默的去百度来的。。

4、根本不知道怎么对vector进行sort。。QAQ还好度娘爱我,原来vector需要begin和end【望天

5、循环的时候纠结了很久迭代器怎么用来着,后来突然想起可以通过下标访问!我简直太机智了!我一定是被上帝选中的!

6、好不容易我自认为都打对了的时候!测!试!数!据!都!过!不!了!查了很久的错!发现我在存数据进向量里的时候!一顺手打了while(n--)!卧槽!!!!!!!!QAQ

7、把while改了之后!输出的数据对了!但是空格的数量不对!于是又查了很久!发现是这行printf("%d %d",x[n-i-1],x[i]);第二个%d后多了个空格啊卧槽!简直不会再爱!

 

改完这堆错误姑且是过了,但我为什么觉得好忧伤啊卧槽!QAQ本来还说着这种题用数组几分钟就能做出来什么的我觉得我太天真了完全没考虑到我蠢(sha)萌(bi)的属性2333

顺便说一句,如果n=1的话我这代码是错的2333会多空格

本来还想用set再写一次的,后来想到数字有可能重复就算了。

 

希望我的渣渣之气不会影响到看我博客的人2333

 

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
	int n,i,temp;
	vector<int>x;
	while(scanf("%d",&n)!=EOF)
	{
		for(i=0;i<n;i++)
		{
			scanf("%d",&temp);
			x.push_back(temp);
		}
		sort(x.begin(),x.end());
		for(i=0;i<n/2;i++)
		{
			printf("%d %d",x[n-i-1],x[i]);
			if(i!=n/2-1)
				printf(" ");
		}
		if(n%2)
			printf(" %d",x[n/2]);
		printf("\n");
		x.clear();
	}
	return 0;
}


 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值