#5829. 座位预约系统
座位预约系统
题目描述
某电影院有一个座位预约系统,共有 个座位,编号为 到 。初始时所有座位都是空闲的。
系统支持以下三种操作:
- 预约座位:
book X- 尝试预约座位 。如果该座位空闲则预约成功;如果已被预约则失败。 - 取消预约:
cancel X- 取消座位 的预约。如果该座位已被预约则取消成功;如果本来就空闲则操作无效。 - 查询可用座位数量:
available- 查询当前所有可用(空闲)的座位数量。
你需要编写一个程序,处理一系列操作,并按要求输出结果。
输入格式
第一行一个整数 ,表示操作的总数。
接下来 行,每行描述一个操作:
- 预约座位:
book X,其中 。 - 取消预约:
cancel X,其中 。 - 查询可用座位数量:
available。
输出格式
对于每个操作,按以下要求输出:
-
对于
book X操作:- 如果预约成功,输出
Seat X booked. - 如果预约失败(座位已被预约),输出
Seat X already taken.
- 如果预约成功,输出
-
对于
cancel X操作:- 输出
Seat X canceled.
- 输出
-
对于
available操作:- 输出一行:
Available seats: k,其中 是当前可用座位的数量。
- 输出一行:
每个输出占一行。
输入样例 #1
8
book 5
book 1000000000
book 5
available
cancel 5
book 5
available
book 999999999
输出样例 #1
Seat 5 booked.
Seat 1000000000 booked.
Seat 5 already taken.
Available seats: 999999998
Seat 5 canceled.
Seat 5 booked.
Available seats: 999999998
Seat 999999999 booked.
输入样例 #2
6
available
book 1
book 2
available
cancel 1
available
输出样例 #2
Available seats: 1000000000
Seat 1 booked.
Seat 2 booked.
Available seats: 999999998
Seat 1 canceled.
Available seats: 999999999
数据范围
样例解释
样例 #1:
- 初始:可用座位 =
book 5:成功,预约座位数 = 1book 1000000000:成功,预约座位数 = 2book 5:失败(已预约)available:可用座位 =cancel 5:取消成功,预约座位数 = 1book 5:成功,预约座位数 = 2available:可用座位 =book 999999999:成功,预约座位数 = 3