平时成绩
- 平时作业的完成度和提交的速度会影响平时成绩(即每次看到的排名页面的排名会对成绩产生一定影响)
考试得分
6题选做5题即可,做出一道题就可以及格
从班级结果上看,所有人都至少完成了1道题
ABC题得分率高,D:2/35,E:4/35,F:2/35
历年考题指引
2016级算法实验考题:【算法课OJ】上机实验考试 | ComyDream Studio
2017级算法实验考题:算法实验考试 | 花花的blog | 厚积薄发 (1187100546.github.io)
2018级算法实验考题:本篇
考试题目
problem A:红楼梦名录
- 时间限制: 1 Sec
- 内存限制: 128 MB
题目描述
两行。第一行一个名字,第二行一个名字。保证名字的长度不超过10000。保证两个名字不完全相等。保证名字均由英文字母组成。
输出
如果第一个名字更好,则输出YES,否则输出NO。
样例输入
BaoYu
DaiYu
样例输出
YES
problem B:薛宝钗探亲游西湖
- 时间限制: 1 Sec
- 内存限制: 128 MB
题目描述
薛宝钗回家探亲时,路过西湖。此时正值游玩高峰期,西湖有很多游客,他们都想要上船观光。宝钗想到,如果游客编号1-n,船的最大承重为S,第i个人的重量为w[i]。现在有若干次游客上下船的操作,那么整个过程中船所承受的最大总重量是多少呢?你能帮宝钗解决这个疑问吗?
输入
单组测试数据。
第一行输入三个整数n(1<=n<=20), m(1<=m<= 500 ) 和 S(1<=S<= 10000)。
接下来n行输入n名游客的重量wi。
接下来m行,每行一个1到n之间的整数,表示游客的编号。表示该游客的上/下船,如果该游客已经在船上,那么该游客就下船,反之就上船。刚开始的时候所有游客都不在船上。
输出
输出一个整数表示整个上下船过程中,船所受到的最大重量。如果最大重量超过了船的最大承重,输出Wow。
样例输入
3 6 10
2
5
7
2
1
2
3
1
3
样例输出
9
problem C:贾宝玉梦回栊翠庵
- 时间限制: 1 Sec
- 内存限制: 128 MB
题目描述
一日中午,宝玉躺在床上昏昏欲睡,不知过了多长时间,宝玉醒来,发现自己来到了栊翠庵。看到妙玉正在指挥一群女道士献香,妙玉见宝玉到来,轻抿一笑,便问道,“她们n个人排队献香,第i个人需要b[i]的时间献香,1 <= n <= 1000,0 <= b[i] <= 1000,同时只能有一个人献香,正在献香的人和没有献香的人都需要等待。完成献香的人会立刻消失,不会继续等待,你可以决定所有人献香的顺序,那么所有人等待时间的总和最小是多少呢?”。(某一个人的等待时间 = 从0时间开始至献香完成所经过的时间)。
输入
第一行一个整数n,接下来n行,每行一个整数表示b[i]。
输出
一个整数,表示所有人等待时间的总和的最小值。
样例输入
3
1
3
2
样例输出
10
problem D :林黛玉沁芳桥葬花
- 时间限制: 1 Sec
- 内存限制: 128 MB
题目描述
花谢花飞花满天,红消香断有谁怜?黛玉最怜惜花,她觉得花落以后埋在土里最干净,可是她又体弱多病。假设黛玉剩余体力为c,她还需要葬重量为v的花,沁芳桥下还剩n朵花,每朵花的重量和把它埋了的所需体力分别为m和k。现在需要你来帮助黛玉,判断是否能够完成葬花,如果能,那么最大还剩多少体力呢?
输入
第一行三个整数v、n、c。0<n<=10000 、0<c<=1000
第二行到n+1行分别为每朵花的重量、耗费的体力。
输出
如果黛玉能够完成葬花,则输出最大剩余体力,否则输出NO。
样例输入
100 2 10
50 5
50 5
样例输出
0
problem E:刘姥姥三进大观园
- 时间限制: 1 Sec
- 内存限制: 128 MB
题目描述
刘姥姥自前两次进荣国府后,十分感谢荣国府的帮助,于是决定,带着新产的蔬菜和板儿再去看望她们。王熙凤见到刘姥姥来了,便堵在门口,有意刁难道:“我这里有三个茶杯A、B、C,他们的容量均是从1到20的整数。初始时,A和B是空的,C是满的。你可以将茶从一个茶杯倒在另一个茶杯中,直到被灌的茶杯满了或者原茶杯空了。姥姥,你需要说出A茶杯为空时,C茶杯所剩量的所有可能性,这样才能进来。”
输入
三个小于20的正整数,分别表示A、B、C的容量
输出
输出一行数,数之间用空格隔开,从小到大列出当 A 茶杯是空的时候,C 茶杯中所剩茶的所有可能性。(行末有空格)
样例输入
8 9 10
样例输出
1 2 8 9 10
problem F:背包问题
- 时间限制: 1 Sec(一眼看过去,错误原因为:时间超限67%的比较多)
- 内存限制: 128 MB
题目描述
在N件物品取出若干件放在容量为W的背包里,每件物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数)。求背包能够容纳的最大价值。
输入
第1行,2个整数,N和W中间用空格隔开。N为物品的数量,W为背包的容量。(1 <= N <= 1000,1 <= W <= 105)
第2 ~ N+1行,每行2个整数,Wi和Pi,分别是物品的体积和物品的价值。(1 <= Wi <= 105,1 <= Pi <= 2×109)
输出
输出可以容纳的最大价值。
样例输入
3 6
2 5
3 8
4 9
样例输出
14