- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
findk(快速排序)
输入两个整数n和k,以及n个整数(绝对值都不超过109)。求这n个数从小到大排列后,排在第k位的数是多少。1=n1=k=n。
输入:findk.in
第一行是n和k,接下来的n行,每行一个整数。
输出:findk.out
一个整数,表示这n个数从小到大排列后,排在第k位的数是几。
样例:
输入
5 4
9
2
8
16
3
输出
9
逃离农场(深度优先搜索)
一些牛要乘坐一艘船趁着黑夜逃离农场,但船可能容纳不下所有的牛。
一共有N头牛,1 = N = 20。每头牛的体重分别是w[1]..w[N]。要从中选出尽可能多的牛,使得他们上船后,船不会沉没。
船是否会沉没取决于:将他们的体重相加,如果不产生进位,船就不会沉。
输入格式:(escape.in)
第一行是整数N。
接下来的N行,每行一个正整数,分别表示牛的体重。体重都不超过100000000(108)。
输出格式:(escape.out)
一个整数,表示最多可以选几头牛。他们的体重相加时没有进位。
样例:
输入
5
522
6
84
7311
19
输出
3
解释:
三头牛的重量分别是522、6和7311,这三个相加时没有进位:
522
6
+ 7311
------
7839
采药(背包问题)
辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”
如果你是辰辰,你能完成这个任务吗?
输入:
输入文件medic.in的第一行有两个整数T(1 = T = 1000)和M(1 = M = 100),用一个空格隔开,T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的整数,分别表示采摘某株草药的时间和这株草药的价值。
输出:
输出文件medic.out包括一行,这一行只包含一个整数,表示在规定的时间内(可以不花完所有时间),能采到的草药的最大总价值。
样例
输入
70 3
71 100
69 1
1 2
输出
3
数据规模
对于30%的数据,M = 10;
对于全部的数据,M = 100。
堆集装箱(搜索或动态规划)
有N个集装箱,3 = N = 20。每个集装箱的长各不相同,宽也各不相同。集装箱不允许旋转,即长和宽不能互换。
现在要在这些集装箱中选择若干个堆叠起来。要求上面集装箱的长必须小于下面集装箱的长,上面集装箱的宽也必须小于下面集装箱的宽。
问最多能选几个集装箱堆成一堆。
输入:btwr.in
第一行是N。
接下来的N行,每行两个正整数,分别表示集装箱长和宽。
输出:btwr.out
一个整数,表示最多能选几个集装箱堆成一堆。
样例:
输入
6
6 9
10 12
9 11
8 10
7 8
5 3
输出
5
解释:
可以选择以下5个集装箱:
5 3
6 9
8 10
9 11
10 12
可能还有别的方案。
2的N次方(高精度计算)
给出一个整数 N (0 = N = 265),精确地输出2的N次方的值(当然,不能以0开头)。
题目名称:ptwo
输入格式:
* 第一行:整数 N
样例输入(文件 ptwo.in):
100
输出格式:
* 第一行:2的N次方
样例输出(文件 ptwo.out):
1267650600228229401496703205376
公牛数学(高精度计算)
公牛自称可以计算很大的整数之间的乘法,并得到精确的结果。农夫约翰想知道他们的答案是否正确。请你帮助他检查公牛的答案。读入2个正整数(不大于10^40),计算他们的乘积,输出一个自然数(最高位不能含有多余的零)。
输入格式:
*第1..2行:每行包含一个十进制数
样例输入(文件名:bullmath.in):
11111111111111
1111111111
输出格式:
*第1行:读入的两个数的正确的乘积
样例输出(文件名:bullmath.out):
123456789011110987654321
等差三元组(枚举优化)
一个等差三元组是一个升序的三元组(s1,s2,s3),其中s2-s1与s3-s2相等。例如:(1,2,3),(2,4,6) 和 (14,21,28)。
给出一个有 S (3 = S = 30) 个元素的递增整数序列,各整数不重复出现,整数的范围在1..100之间,输出其中包含的等差三元组的个数。
程序名称:lseq
输入格式:
文档评论(0)