SP9527 DEPARTJ - Department
题目描述
安全部门建了一座新的总部大楼。这栋大楼有多层楼,每层楼都有房间,房间编号为 _xxyy_,其中 _yy_ 代表房间号,_xx_ 代表楼层号,且都在1到9的范围内(不包括0)。
大楼里有一种“循环电梯”,由几个不断运行的电梯舱组成。特工需要定期到总部访问,在这期间,他们会按照计划访问多个房间,并在每个房间停留指定的时间。出于安全原因,每个房间同一时间只能有一位特工,而每个电梯舱也是同样的规则。
访问计划制定在一天内完成。每位特工每天最多访问一次。特工从一楼进入大楼,过了接待处后,按照自己的列表顺序访问房间,并总是按照房间编号递增的顺序。特工们按照线性等级排列,并分配一个字母作为个人代码,资历越高的特工,其字母代码的字典序越小。每位特工的代码都是独一无二的。
如果多个特工想要进入同一个房间或电梯,他们必须排队。无论是在房间门口还是电梯前的队列中,他们都按照代码的字典序排列,资历高的特工站在队伍前面。电梯前的队列中,每隔5秒,站在最前面的特工可以进入电梯。访问完最后一个房间后,每位特工会乘电梯回到一楼,随后离开大楼。
以下是从大楼的某一点到另一点所需的时间:进入大楼(经过接待处到电梯或一楼房间)需要30秒;离开大楼(从电梯或一楼房间经过接待处)也需要30秒。在同一个楼层,从电梯到房间(或房间前的队列)、从房间到电梯(或电梯前的队列)、从一个房间到另一个房间(或房间前的队列),都需要10秒。乘电梯从一层楼到相邻的一层楼需要30秒。请编写一个程序来确定特工在总部大楼的访问时间过程。
输入格式
输入文件描述了多个特工的访问记录。每条访问记录的第一行有特工的单字符代码 _C_(_C_ 可以为 A 到 Z 之间的字母)和特工进入总部的时间,格式为 HH:MM:SS(小时:分钟:秒)。接下来的几行(至少有一行)包含房间号和停留时间,停留时间以秒为单位。每个房间各占一行,且按房间号递增排列。房间列表以0结尾。访问记录以一个句号结尾。
输出格式
输出每个特工在总部大楼的访问详细记录。每个特工的记录为一个块。块按特工代码的字典序排列。块的第一行包含特工的代码。后续行按照HH:MM:SS格式记录开始和结束时间及活动描述。时间数据之间用一个空格隔开。描述与时间之间也用一个空格隔开。描述包括三种类型:Entry(进入)、Exit(离开)或 Message(消息)。消息包括:在电梯队列中等待、在房间 _RoomNumber_ 前等待、从房间 _RoomNumber_ 转移到房间 _RoomNumber_、从电梯转移到房间 _RoomNumber_、从房间 _RoomNumber_ 转移到电梯、在房间 _RoomNumber_ 停留、在电梯内停留。每个特工的记录块后面留一个空行。
## 示例输入
```
A 10:00:00
0101 100
0110 50
0202 90
0205 50
0
B 10:01:00
0105 100
0201 5
0205 200
0
.
```
## 示例输出
```
A
10:00:00 10:00:30 Entry
10:00:30 10:02:10 Stay in room 0101
10:02:10 10:02:20 Transfer from room 0101 to room 0110
10:02:20 10:03:10 Stay in room 0110
10:03:10 10:03:20 Transfer from room 0110 to elevator
10:03:20 10:03:50 Stay in elevator
10:03:50 10:04:00 Transfer from elevator to room 0202
10:04:00 10:05:30 Stay in room 0202
10:05:30 10:05:40 Transfer from room 0202 to room 0205
10:05:40 10:07:40 Waiting in front of room 0205
10:07:40 10:08:30 Stay in room 0205
10:08:30 10:08:40 Transfer from room 0205 to elevator
10:08:40 10:09:10 Stay in elevator
10:09:10 10:09:40 Exit
B
10:01:00 10:01:30 Entry
10:01:30 10:03:10 Stay in room 0105
10:03:10 10:03:20 Transfer from room 0105 to elevator
10:03:20 10:03:25 Waiting in elevator queue
10:03:25 10:03:55 Stay in elevator
10:03:55 10:04:05 Transfer from elevator to room 0201
10:04:05 10:04:10 Stay in room 0201
10:04:10 10:04:20 Transfer from room 0201 to room 0205
10:04:20 10:07:40 Stay in room 0205
10:07:40 10:07:50 Transfer from room 0205 to elevator
10:07:50 10:08:20 Stay in elevator
10:08:20 10:08:50 Exit
```
**本翻译由 AI 自动生成**