#B4528. [语言月赛 202604] 生日邀请
[语言月赛 202604] 生日邀请
背景
如果你完成了本题,可以挑战本题加强版。
注意,本题加强版并不属于入门赛考察范围。
题目描述
Alice 快要过生日了,她邀请了很多位好朋友参加她的生日宴会。所有朋友的名字长度均不超过 ,且仅由大小写字母构成。
然而她的朋友们都很忙,不确定能否参加,无法给她一个明确的答复。她收到的回复可分为下面三类(其中 为任意人名):
A=>B:如果 参加,那么 也参加。A<=B:如果 参加,那么 也参加。A<=>B:如果 参加,那么 也参加,反之亦然。
她可以把这些回复串起来,例如她用 Andrea=>Bob<=Cindy 来表示:
- 如果 Andrea 参加,那么 Bob 一定参加。
- 如果 Cindy 参加,那么 Bob 也一定参加。
她发现所有朋友的回复可以构成一个字符串 ,并且 没有重复人名。
Alice 把这个字符串告诉了你,接着她会问你 个问题,每次给你两个人 ,她想知道,如果 参加生日宴会,那么 是否一定会参加。
输入格式
输入的第一行有一个字符串 ,表示所有朋友的回复形成的字符串。
第二行有一个正整数 ,表示问题的个数。
之后 行,每行有两个人名 ,表示一个问题。
输出格式
对于每个问题,输出一行一个字符串:“如果 参加,那么 一定参加”若成立,输出 Yes,否则输出 No。
Andrea=>Bob<=Cindy<=>Dora
7
Andrea Bob
Dora Cindy
Dora Bob
Andrea Cindy
Andrea Mike
Mike Andrea
Mike Mike
Yes
Yes
Yes
No
No
No
Yes
提示
【样例 1 解释】
对于每个询问我们依次解释:
- 根据
Andrea=>Bob,如果 Andrea 参加,那么 Bob 参加。 - 根据
Cindy<=>Dora,如果 Dora 参加,那么 Cindy 参加。 - 如果 Dora 参加,那么 Cindy 会参加,而这也就意味着 Bob 会参加,因此,如果 Dora 参加,那么 Bob 参加。
- 对于第 组询问,可以构造“仅 Andrea, Bob 参加”的反例,因此,如果 Andrea 参加,则 Cindy 不一定参加。
- 对于第 组询问,由于我们不知道关于 Mike 的任何回复,显然答案是不一定。
- 但是第 组询问不一样——“如果 Mike 参加,那么 Mike 一定参加了”是一句废话,这是永远成立的。
【数据范围】
对于全部数据,保证:
- 由不超过 个不重复人名组成,人名之间的间隔必为
<=,=>和<=>之一。 - 每个人名仅由英文字母组成,首字母大写,其他字母小写,且长度 ,并且这些人名都不是
Alice。 - 。
本题共有 个测试数据,部分测试数据有特殊性质,具体地:
::cute-table{tuack}
| 测试点编号 | 特殊性质 A | 特殊性质 B | 特殊性质 C |
|---|---|---|---|
| 有 | 有 | 有 | |
| 无 | |||
| 有 | 无 | ||
| 无 | |||
| 有 | 有 | 无 | |
| 无 | |||
| 有 | 无 | ||
| 无 |
- 特殊性质 A:保证询问中的 一定是 中的第一个人名(例如样例 1 中,保证 为
Andrea)。 - 特殊性质 B:保证 中人名之间的连接符一定为
=>。 - 特殊性质 C:保证 中人名的长度为 。