B类题:
1:话说兔子一直怕人家找到了他的藏肉保险柜密码,所以兔子找了一种加密的方式,使用了某种密码古老的流行的一种采用座标系换字表的加密系统。采用字母表作为座标系统:
A B C D E
F G H I/J K
L M N O P
Q R S T U
V W X Y Z
加密的方法是:
<1>. 把讯息分拆成一对对的字母,即字母对(digraphs)。而字母对内之字母必须不同,相同时则在中间插入x、z或q等(选其一)较少用的字母。如最後只剩一个字母,同样地,加入 x 等来组成字母对。
3:为了提高读取速度,我们引入了缓存系统缓存共有n级,每一级的容量有一定限制在存贮时,我们可以很清楚的知道,将来要对每份数据做多少次读取一份数据一旦被确定储存在什么位置就不能再变动,所有没有被存贮在缓存中的数据也可以被读取同一份数据必须存在于同一级缓存中,或全部不在缓存中
cache.in
m n tx#m份数据,n个缓存,读取没有被存贮在缓存中的每个容量单位数据需要时间tx
s1 t1#第一级缓存的大小和读取每个容量单位的时间,共n行
ms1 mr1#第一份数据的大小和它将被读取的次数
cache.out
t#所需最短读取时间
4.
{你的程序将只对指定目录拥有读取权限}
请按要求对给定文件的内容进行统计
提示:数据可能较大,但最大不会超过1e200
请说明程序运行平台
在你的程序的工作目录下,将存在一个stat.in文件,
该文件的内容描述了你的程序需要对这一批文件作怎样的统计
你需要统计的文件将在工作目录中的stat子目录下,
要统计的文件的路径不包含stat/及之前的部分
统计结果输出到stat.out文件
stat.in的内容:
<blockquote>x #这意味着接下来有x组统计任务
# 一个空行,接下来为每组任务,每组之间用一个空行隔开
y #这意味着这组任务有y种文件要统计,以下将列出每种的要求
sp #这是一类文件的说明的第一行,当到任何一个文件的相对路径符合该字符串时该文件属于这一类,可能使用*和?通配符,请注意*ab*c*而非ab*c匹配dabxxc.txt文件
d #这是一个数字,意味着符合要求的文件的第几行将被统计。我们保证该行为数字,如果行数不够,该文件的统计结果为0
so #这是一类文件的说明的最后一行,它意味着这种文件中每个文件的统计结果将被怎样处理。sum要求求和,product要求求积,average要求求算术平均数
sgo #在每一类文件的要求列举完后,该字符串确定这组的结果将由其中每类的结果怎样计算。sum要求求和,product要求求积,average要求求算术平均数</blockquote>stat.out的内容:
<blockquote>依次列出每一组文件的统计结果</blockquote>
C类题:
1.我下载了一些文件,需要把它刻录成光盘,为了尽量节省费用,我希望用尽量少的光盘数完成刻录,但不能分割或压缩文件。每张盘的容量完全相同。同时,出于方便考虑,我希望一些文件被放在同一张光盘上。
burn.in
c s #c=文件数, s=光盘容量, 以下共有c行
fn s r #fn=文件名(8.3格式) s=文件大小 r=必须在同一张光盘上的文件名(保证有此列,可能恰为本文件名)
burn.out
cc #最少需要的光盘数 如不可能完成 请输出-1
2:A family of N people is passing a bridge at night. Since it is extremely dark, they walk with the help of a lamp. Unfortunitely the bridge is narrow, as a result a maximum of two people can cross at one time, and they must have the lamp with them. Each person walks at a different speed, and a pair must walk together at the rate of the slower person. Now here is the problem: given the size of the family (N) and the time needed for each person to cross the bridge, try to figure out the minimum total time that the family can cross the bridge. Input
There are several test cases.
In each test case, there are 2 lines.
In the first line, an integer N will be given, which satisfies 0<=N<=100000. (Though a family of 100000 people is somewhat ridiculous.)
In the second line, N integers will be given, which are the time needed to cross the bridge for each person.
There are no extra line(s) between test cases.
Output
For each test case, output a line with one number, the minimum total time.