13 15网研院上机题.docx
《13 15网研院上机题.docx》由会员分享,可在线阅读,更多相关《13 15网研院上机题.docx(11页珍藏版)》请在冰豆网上搜索。
![13 15网研院上机题.docx](https://file1.bdocx.com/fileroot1/2023-1/8/1e2bed98-49b3-436b-85ee-27ddef81e35b/1e2bed98-49b3-436b-85ee-27ddef81e35b1.gif)
1315网研院上机题
A 最值问题
Accept:
210
Submit:
633
TimeLimit:
1000MS
MemoryLimit:
65536KB
Description
给出N个数,求出这N个数中最大值和次大值。
注意这里的次大值必须严格小于最大值。
输入保证N个数中至少存在两个不同的数。
InputFormat
第一行为测试数据的组数T(T≤20)。
请注意,任意两组测试数据之间是相互独立的。
每组数据包括两行:
第一行为一个整数N(1≤N≤1000)。
第二行为N个正整数,每个整数均不大于106。
OutputFormat
每组数据输出两个数,即N个数的最大值和次大值,中间用空格隔开。
SampleInput
2
5
12345
4
2223
SampleOutput
54
32
B 统计时间间隔
Accept:
130
Submit:
1132
TimeLimit:
1000MS
MemoryLimit:
65536KB
Description
给出两个时间(24小时制),求第一个时间至少要经过多久才能到达第二个时间。
给出的时间一定满足的形式,其中x和y分别代表小时和分钟。
$0x24,0y60。
InputFormat
第一行为数据组数T(1≤T≤50000)。
每组数据包括两行,分别代表两个时间。
OutputFormat
每组数据输出一行,表示最少经过的分钟数。
SampleInput
2
7:
00
7:
00
7:
00
8:
00
SampleOutput
0
60
C 字符串转换
Accept:
78
Submit:
471
TimeLimit:
1000MS
MemoryLimit:
65536KB
Description
我们将仅由若干个同一小写字母构成的字符串称之为简单串,例如"aaaa"是一个简单串,而"abcd"则不是简单串。
现在给你一个仅由小写字母组成的字符串,你需要用最小的花费,将其转换成一个简单串。
花费的计算规则如下:
将a到z这26个小写字母从左到右排成一排,则每个字母都有左右两个邻居,我们认为a的左邻居是z,z的右邻居是a。
一个字母只能转换成其相邻的字母,转换的花费为1。
一个字母可以进行多次转换,例如将a转换成d,可以进行如下的步骤:
a->b->c->d,花费为3。
字符串的转换花费为所有字母转换花费之和。
例如将字符串"abbbz"转换成简单串的最小花费为3,转换后的结果为"bbbbb"。
InputFormat
第一行一个整数T(T≤100),表示测试数据的组数。
每组测试数据只有一行,为仅含小写字母的字符串,字符串长度不超过1000。
OutputFormat
对于每一组数据,输出一个整数,表示将字符串转换成简单串的最小花费。
SampleInput
2
abbba
abbac
SampleOutput
2
3
D 文件系统
Accept:
9
Submit:
79
TimeLimit:
1000MS
MemoryLimit:
65536KB
Description
现在很多操作系统的文件系统都是基于树形结构设计的。
即一个目录下可以有若干个目录和文件,而每个目录和文件都可以通过一条从根目录出发的唯一路径来唯一确定。
我们希望你实现对这样的一个文件系统的简单管理。
为了简化问题,我们做出如下假设:
1.假设文件系统初始时只有一个根目录root。
2.假设所有出现的文件和目录的名字都是唯一的。
即,不会有两个相同名字的文件出现,不会有两个相同名字的目录出现,也不会有一个文件和一个目录名字相同。
3.文件名字和目录名字都是长度在1到20之间的字符串(包括1和20),且只由英文大写字母、英文小写字母、数字组成。
大小写字母之间不等效。
你需要实现如下操作:
1.CREATEFILEFILENAMEDIRNAME
这个操作的含义是:
在DIRNAME的目录下创建一个名字为FILENAME的文件。
我们保证当出现这个操作时,DIRNAME是一个已经存在的目录,而FILENAME这个名字是首次出现。
2.CREATEDIRDIRNAME1DIRNAME2这个操作的含义是:
在DIRNAME2的目录下创建一个名字为DIRNAME1的目录。
我们保证当出现这个操作时,DIRNAME2是一个已经存在的目录,而DIRNAME1这个名字是首次出现。
3.LISTFILEDIRNAME这个操作的含义是:
按照创建的先后顺序打印出DIRNAME目录下的所有文件名字。
我们保证当出现这个操作时,DIRNAME是一个已经存在的目录.
4.LISTDIRDIRNAME这个操作的含义是:
按照创建的先后顺序打印出DIRNAME目录下的所有目录名字。
我们保证当出现这个操作时,DIRNAME是一个已经存在的目录
InputFormat
第一行有一个整数T,表示一共有T组数据需要你处理。
请注意各组数据之间是相互独立的。
每当处理新的一组数据时,你都应当假设此时只有一个名字为root的根目录存在。
T的大小不超过20。
对于每组数据,第一行有一个整数N(0OutputFormat
对于每个LISTFILE操作和LISTDIR操作,如果找到了X个文件(或目录),你需要输出X行,按照创建时间从早到晚的顺序,每一行打印一个文件(或目录)的名字。
如果找到了0个文件(或目录),就不要输出任何东西。
请注意不要输出多余的空格和换行符。
SampleInput
2
8
CREATEFILEdesktoproot
CREATEDIRDESKTOProot
LISTFILEroot
LISTDIRDESKTOP
CREATEFILEscr20130412DESKTOP
CREATEFILEscr20130411DESKTOP
CREATEFILEscr20130413DESKTOP
LISTFILEDESKTOP
5
LISTFILEroot
CREATEDIRwebapproot
CREATEDIRmywebwebapp
CREATEDIRMyWebwebapp
LISTDIRwebapp
SampleOutput
desktop
scr20130412
scr20130411
scr20130413
myweb
MyWeb