#P0076. [2023蜀山区小学组] 寻找座位(seat)

[2023蜀山区小学组] 寻找座位(seat)

题目描述

园博会的展区面积很大,接驳不同展区间的电动车需要提前预约,参观者凭成功预约信息才能坐车。因此发车前会进行频繁的订票/退票操作。现在有一辆特殊电动车,里面有 NN 排,每排 55 个座位,每个座位用 11 表示已预订,00 表示未预订。小明负责安排这辆车下一趟的座位,按时间顺序收到了 MM 个订票(D)或者退票(T)信息,请你帮小明编写程序,看剩余座位是否能满足每一个要求。

输入格式

第一行是两个正整数 NNMMNN 表示园博会电动车上的座位排数,MM 表示系统收到的订/退票信息。

接下来是 NN 行,每行 55 个数字,表示座位是否被占用,00 表示未被占用,11 表示已经占用。

NN 行座位信息后是 MM 行订票/退票操作,其中 D 表示订票、T 表示退票。

输出格式

针对 MM 个订票/退票操作,按顺序给出座位是否能满足需求的判断结果,Yes 表示可以满足要求,No 表示不能满足。

非官方提醒:不论是订票还是退票,只要对应的票的数量无法满足需求,均需要输出 No

输入数据 #1

6 4
11111
11101
11011
11111
10001
10001
D 5
T 2
D 6
T 3

输出数据 #1

Yes
Yes
No
Yes

解释 #1

满足了前两个需求后,不再有足够的座位满足第三个需求。第三个需求应该被拒绝并忽略其影响。

数据范围

对于全部数据,有 1N10001 \leq N \leq 10001M1051 \leq M \leq 10^511 \leq 单次订退票数量 10000\leq 10000

测试点

  • 测试点 131 \sim 3(共 30 分):保证一开始车辆为空(没有座位被占用)。
  • 测试点 4104 \sim 10(共 70 分):无特殊限制。