HM306 双层预约表

HM306 双层预约表

HM306 双层预约表

来源: 第 306 集 机房预约系统-预约类的容器属性分析

难度: 普及

时间限制: 1s

空间限制: 64MB

题目描述

预约文件里每一条都是空格分开的键值对,冒号左边是属性名,右边是实值,例如 date:1 interval:2 stuId:1 stuName:张三 roomId:3 status:1。属性名起索引作用;实值不要按整数存——姓名不是整数,因此**键和值一律用字符串**。

一条记录内部正好对应一个 map<string, string>dateintervalstuIdstuNameroomIdstatus 各出现一次,不会重复,因此用 map 即可,不必 multimap。多条记录再套一层:外层 map<int, map<string, string>>,外层键是记录序号(从 \(0\) 起),外层值是该条的小表。

字段名必须写成 stuName,不要写成别的拼法,否则以后按键取值会取空。

读入全部记录并建好双层表后,按询问取出指定记录、指定属性的值。外层键不存在或内层没有该属性时输出 MISS

输入格式

第一行一个整数 \(n\),记录条数。

接下来 \(n\) 行,每行六个 属性:值 串,顺序任意,但属性名属于上述六个。

下一行一个整数 \(q\)。

随后 \(q\) 行,每行一个整数 \(i\) 和一个属性名,表示查询第 \(i\) 条(\(0\) 起)的该属性。

输出格式

共 \(q\) 行,每行一个字符串。

样例

输入 #1

2
date:1 interval:2 stuId:1 stuName:张三 roomId:3 status:1
date:2 interval:2 stuId:1 stuName:张三 roomId:1 status:1
5
0 date
0 interval
1 roomId
1 stuName
0 status

输出 #1

1
2
1
张三
1

输入 #2

1
date:5 interval:1 stuId:2 stuName:李四 roomId:2 status:1
3
0 stuId
2 date
0 name

输出 #2

2
MISS
MISS

说明

\(1 \le n \le 200\),\(1 \le q \le 200\)。属性值不含空白。外层键从 \(0\) 编到 \(n-1\)。

样例 #1 两条都是键值对,数字也当字符串存。样例 #2 外层没有 \(2\) 号、内层没有 name(正确键是 stuName),均输出 MISS

信息

ID
1305
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者