题目一 捐款排名
一方有难八方支援,地震发生后,X市人民开始踊跃捐款,最后统计下来,每个企事业单位都有一笔金额不小的捐款。全市的捐款单位少于30000个,但是没有一个单位捐款数额超过20亿。现在要发布大红榜了,上面要有所有单位的名称和捐款数额,而且要求榜单要按照数目来排先后次序。假设每个单位的名称都不一样,每个单位的捐款数目也全部不一样,也没有一个单位名称长度超过255个字符。
输入:
第一行:N表示N个单位。
以下2N行,一个单位名称占一行,下面是捐款数目占一行,一共N个单位。
输出:
N行:按捐款多少从多到少输出每个单位的名称和捐款数目。
样例
输入:3
QWERT
300
YUIOP
250
ASDFG
500
输出:
ASDFG 500
QWERT 300
YUIOP 250
题目二 队长纪念日
队长的生日是yy(1900<yy<2100)年mm月dd日,他想知道自己10000天纪念日是哪天,你帮帮他。
输入:三个数:yy mm dd(输入数据保证合理)
输出:出生日期
样例1:
输入:1975 7 15
输出:2002-11-30 (注意输出格式,要以‘-’隔开)
样例2:
输入:1949 10 1
输出:1977-2-16 (注意输出格式,要以‘-’隔开)
题目三 邮票问题
奋战在前线的官兵要寄信回家的。信封上最多能贴K(k<=8)张邮票,而邮票的面值有N(n<=8)种(每种邮票都足够多),分别是给定的a[1]..a[n] (所有面值小于100),现在给你这些条件后,让你求一个最大的M,使得信封上,你要贴1..M的所有面值都能实现。例如: n=2,k=3, a[1]=1,a[2]=3则
1可实现:1张a[1]
2可实现:2张a[1]
3可实现:1张a[2]
4可实现:1张a[2] +1张a[1]
5可实现:1张a[2] +2张a[1]
6可实现:2张a[2]
7可实现:2张a[2] +1张a[1]
8不可实现
因此答案是7
输入:n k
以下n个数,a[1]..a[n]
输出:m
样例
输入:2 3
1 3
输出:7
第四题 运输卡车难题
救援队要出发了,当然要带很多救援物资了。救援队希望带的物资重量越大越好。但是卡车的最大载重m(m<=5000)都是有限的。现在有n(n<=500)大包物资。每包物资的重量用w[1]..w[n](0<w[i]<=100)给出。问能装在卡车上的最大重量,(包好的物资是不能在再次分割的)并输出最优方案总数。
输入:
第一行:n m
以下n行:每包物资的体积,重量,价值
w[1]
w[2]
……
w[n]
输出:二行
第一行:最大重量
第二行:最优方案数
样例:
输入:
5 10
1
2
3
4
5
输出:
10
3
|