北理工C语言题,我是不会,大神来编一下哈

题目描述:在BIT的网络教室里,流传着一个传奇人物的传说:PQ大神会在他存在的所有的课程里牢牢占据第一名的位置(即使PQ大神起初有意放水,也会在后来因为实力的巨大差距而重... 题目描述:在BIT的网络教室里,流传着一个传奇人物的传说:PQ大神会在他存在的所有的课程里牢牢占据第一名的位置(即使PQ大神起初有意放水,也会在后来因为实力的巨大差距而重回第一)。而事实也确是如此,无论是在C语言教室还是在ACM教室,PQ大神都占据了第一名的宝座。而大神是如何成为传奇的呢?答案很简单,PQ大神沉溺在在各种OJ(ONLINE JUDGE)上刷题虐人的愉悦感中。最近,PQ大神发现了几个新的OJ,里面有成千上网的题目。由于PQ大神的实力太强,所以他喜欢挑战高难度的题目。同时,PQ大神的高智商让他不屑于去写难度低于100的水题。 PQ大神在扫了几眼后(其实大神只用扫一眼就够了,但是大神为了保持自己的亲和性,对外宣称看了几眼,大神喜欢自称渣渣也是这个原因吧),给出了每道题的难度值(PQ大神只用看一眼就知道难度值和解法,这大概就是他被称为大神的原因之一)。现在,作为大神的的仰慕者,你需要为大神写一个程序,大神会告诉你题号和难度值,你来为大神提供刷题的顺序。(因为判断刷题顺序的排序程序的难度<100,所以大神是不想写这种程序的)。输入:(文件输入) 输入文件名称输入文件的格式如下:第一行输入一个整数T, 表示一共有T个案例(T <= 50)。之后的每个案例,第一行输入一个整数N,表示一共有N道题。接下来的N行中,分别是两个整数,第一个整数代表题号(题号<=100000),第二个整数代表题目难度(题目难度<=10000),之间用空格隔开。例如,输入文件1如下: 2 6 4 36 9 2 7 100 1 19 2 79 30 131 1 4 99 输出:对于每一个案例,按难度顺序输出题目的名字(不同题目名字用换行分隔,若难度相同,则按字典序输出)。每两个案例间空一行。如果所有的题目难度都<100,则输出”This OJ is too easy for PQ Dashen!” 友情提示:由于OJ上的题目数量实在是太多了(这么多的题目大概也只有PQ大神能写完吧),大神又懒得等太久(浪费PQ大神的时间是要忏悔的),所以,冒泡排序等时间复杂度为n^2的程序会让大神应等待时间过长而让你TLE掉<没错大神还有判断运行时间的功能>所以这时候,我们需要一种效率更高的排序:快速排序。快速排序的思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小(简单的说,他的实现就是设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第1个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序)然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。也许在你的代码前加/*ORZ PQ DaShen*/会让机器的运行速度突然翻倍,一定的几率让本身会TLE的题目AC掉,但出于RP的不确定性,如果你TLE了,请尝试用快速排序为大神写这个程序。测试用例 2输入in2.txt↵ 输出 2↵ 8↵ 32↵ 4↵ 测试用例 1以文本方式显示 in1.txt↵ 30 7 This OJ is too easy for PQ Dashen 展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
entalent
2015-06-18
知道答主
回答量:2
采纳率:0%
帮助的人:2.2万
展开全部
提示:快速排序可以调用qsort函数,具体的用法可以自己谷歌或百度。
我也做过这题,直接就这样要答案不是很好啊同学。
追问
但是我还是不会编呀。。。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-06-18
展开全部
如果能用C++提交的话,快排的sort函数是很好用的,百度一下吧。学弟加油。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式