#B4388. [语言月赛 202508] 共享航班
[语言月赛 202508] 共享航班
题目背景
一趟航班的机票可能由多个航空公司(简称航司)销售。每一个航司在销售该航班机票时,都会给该航班一个专属于该航司的代码。例如,某趟航班由 CA 和 ZH 两家公司售票,其航班号分别为 CA1234 和 ZH4321,但是这两个航班号对应的其实指的是同一趟航班,只是不同航司对该航班的编号不同。这样的航班被称为代码共享航班。
请注意本题设定的代码共享条件、航班代码格式与生活实际略有不同,请以题目要求为准。
题目描述
扶苏获取了 条航线数据,每条数据都是一个字符串,包括一趟航班的代码、出发地、目的地、起飞时间。一条数据的格式是:
CODE-DEP-DES-HH:MM
其中:
CODE
是该航班的代码,该代码是一个长度为 的字符串,前两位是字母,表示所属航司,后四位是数字,是航司给该航班的代号。同一航司的代码前两位相同,不同航司的代码前两位不同,因此可以用航班号前两位来区分和表示航司。例如CA1234
,SC9876
。DEP
是一个长度为 的字符串,表示飞机的出发机场代码。不同机场的代码不同,例如PEK
表示北京首都国际机场。DES
是一个长度为 的字符串,表示飞机的到达机场代码。不同机场的代码不同,例如PVG
表示上海浦东国际机场。HH:MM
是一个长度为 的字符串,H
和M
均是 的数字,表示起飞的小时和分钟,不足两位时补0
。例如:09:21
表示 点 分。
下面是一个例子:
CA1501-PEK-PVG-08:30
SC5306-PEK-PVG-08:30
ZH2468-PEK-PVG-08:30
CZ1357-PEK-PVG-08:30
MU9197-SHA-TFU-08:00
依次表示:
CA
公司售卖的代号为CA1501
的航班,从PEK
飞往PVG
,起飞时间08:30
。SC
公司售卖的代号为SC5306
的航班,从PEK
飞往PVG
,起飞时间08:30
。ZH
公司售卖的代号为ZH2468
的航班,从PEK
飞往PVG
,起飞时间08:30
。CZ
公司售卖的代号为CZ1357
的航班,从PEK
飞往PVG
,起飞时间08:30
。MU
公司售卖的代号为CA1501
的航班,从SHA
飞往TFU
,起飞时间08:00
。
同时,扶苏还知道有些航司之间有联盟关系,每个航司最多属于一个联盟。两条数据是共享航班当且仅当:
- 它们的公司属于同一个联盟。
- 它们起飞、降落机场分别相同。
- 它们起飞时间相同。
可能有多个航班两两之间均构成代码共享关系,此时它们对应同一趟实际航班。
例如,扶苏知道 CA
和 SC
和 ZH
同属于一个联盟,而 CZ
不属于该联盟,所以上面例子里前三条是共享航班,对应同一趟实际的航班,但前三条和第四条不是共享航班。而第五条和前四条信息的起降地、时间均不同,因此也不和前四条构成代码共享关系。上面例子中共有三趟实际的航班。
已知共有 个联盟,属于第 个联盟的航司有 个,其代码(航班号前缀)分别是 。同时给定 条航班信息,你要求出这 条信息对应了多少实际的航班。
注意:
- 可能有航司不属于任何联盟。
- 保证同一航司在同一时间、同一起降地只有至多一个航班。
输入格式
第一行是两个整数,表示信息数 和联盟数 。
接下来 行,表示一个联盟的信息,按如下格式输入:
- 首先是一个整数,表示该联盟的航司数 。
- 接下来有 个长度为 的字符串,表示该联盟每个航司的代码(航班号前缀)。
接下来 行,每行一个字符串,表示一条航班信息,其具体格式见【题目描述】部分。
输出格式
输出一行一个整数,表示共有多少个实际航班。
7 2
3 CA ZH SC
2 CZ MF
CA1501-PEK-PVG-08:30
CZ1357-PEK-PVG-08:30
SC5306-PEK-PVG-08:30
ZH2468-PEK-PVG-08:30
MF1357-PEK-PVG-08:30
MU9197-SHA-TFU-08:00
CA9197-SHA-TFU-08:00
4
提示
样例 1 解释
CA
、ZH
、SC
三个航司属于一个联盟,CZ
、MF
属于一个联盟,MU
(在该样例中)不属于任何联盟。
数据的第 行是共享航班,第 行是共享航班,第 行单独是一个航班,第 行单独是一个航班。共 个实际航班。
数据规模与约定
测试点编号 | 特殊约定 | |
---|---|---|
无 | ||
所有航司属于同一个联盟 | ||
所有航司均属于某一个联盟(但不一定相同) | ||
输入的数据按起飞时间排序 | ||
无 |
对全部的测试数据,保证:
- 。
- 。
- 航司代码是仅含大写字母的长度为 的字符串。
- 航班代码
CODE
是长度为 为的字符串,其中前两位是大写字母,后四位是数字。 DEP
、DES
是长度为 的仅含大写字母的字符串。HH:MM
是一个合法的 小时制时间,范围从00:00
到23:59
。- 保证输入的航班号互不相同。