社区讨论

大致题意

UVA11862Airbus vs Boeing参与者 7已保存回复 12

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
12 条
当前快照
1 份
快照标识符
@mi86k5le
此快照首次捕获于
2025/11/21 09:27
4 个月前
此快照最后确认于
2025/11/21 09:54
4 个月前
查看原帖

题目描述:

空客和波音是航空界的两大巨头,波音的飞机总会与空客的飞机有竞争关系。例如 B737B737就与A320A320所对应(译者:理论上是737NG737NGA320A320对应,而737MAX737MAX320Neo320Neo对应),而最新的(译者:现在不是最新的了)波音7879787-9梦想客机,就同时与A340A340-500500A350A350-800800对应。
当你在SMPSMP机场工作的第一天时,机场经理给了你一个列有对应飞机的列表。当你第一眼看到这个列表时,你意识到这个表是由两种不同公司生产但又类似(对应)的客机组成的。你还注意到这个表没有环。也就是说,你发现这个表有一些严重的问题。在这个表中,飞机是由他们的型号构成的而没有生产商。所以波音7478747-8与空客A380A380对应在表中就作为“747747-88 A380A380
你试图把表中的飞机分到两个更小且有序的表(每个表为一个生产商)中,当一个小表中有两架或以上的飞机时,更好的飞机排名应跟靠前。现在,你不会知道各种飞机的排名,同时你也不会知道哪家飞机是波音那家飞机是空客。自然而然地,你可以任意创建两个小表并且你不会知道哪一个是正确的。现在,你开始怀疑某些你收到的对应关系是错的。例如,你对小表的最终排序是[AA,BB]和[CC,DD]但是你收到的表单显示AADD对应且BBCC对应——显然这两组中有一组是错的。
你要做的第一件事是,收到这些对应关系表和找出最多情况下在小表中有多少种正确的组合。

输入格式

输入多组数据(最多6060组)。
每组数据第一行一个整数NN,声明本组数据中会出现多少种飞机型号。接下来NN行,有NN个不同的字符串飞机型号,表示在本组数据中只会出现这几种型号。
每组数据第N+2N+2行,一个非负整数E,代表对应型号的组数。接下来EE行,每行两个字符串,用空格隔开,代表两个由不同厂家生产的、类似的飞机。(保证型号均合法)
NN00时,输入结束。

输出格式

对于每组数据,输出一行“CaseX:YCase X: Y”,XX代表数据组数,YY代表合法对应组数的最大值。

数据范围

0N1000 \leq N\leq100 E0E \geq 0
每个字符串长度小于10

样例解释

在第一个例子中有77架飞机可以被分成两组,以保持原本的66个对应关系是正确的。例如,假设有一个列表是[A380A380,A340A340](有序的)同时另一个表是[747747,787787,777777,757757,767767](有序的)。现在,如果我们在左边和右边的对应飞机之间划线,将不会有交叉点
在第二个例子中,无论我们如何分组或排序,都至少会有一组交叉出现。我们假设两组分别为[747747,777777,757757,737737]和[A380A380;A340A340,A320A320]。然后我们发现在左侧,777777757757高级同时A340A340A320A320高级。但在收到的表中,777777对应A320A320757757对应A340A340。所以显然会出现一个交叉点。如果你枚举一遍所有可能的组合,就会发现最大的正确对应组数为61=56-1=5
chen_zhe yjjr

回复

12 条回复,欢迎继续交流。

正在加载回复...