#P10687. True Liars
True Liars
Description
在小船上漂流了几天后,Akira Crusoe Maeda 终于被抛到了一个雾蒙蒙的岛上。尽管他疲惫不堪,绝望不已,但他仍然幸运地记得他童年时从族长那里听到的雾岛传说。这一定是传说中的岛屿。传说中有两个部落居住在岛上,一个是神圣的,另一个是邪恶的,一旦神圣部落的成员保佑你,你的未来就会光明有希望,你的灵魂最终会去天堂,相比之下,一旦邪恶部落的成员诅咒你,你们的未来就会黯淡无望,你的心灵最终会坠入地狱。
为了防止最坏的情况发生,Akira Crusoe Maeda 应该区分恶魔和神灵。但是怎么做?他们看起来完全一样,他无法仅凭外表区分他们。然而,他还有最后的希望。神圣部落的成员是说实话的人,也就是说,他们总是说实话,而邪恶部落的成员则是骗子,也就是他们总是撒谎。
他问他们中的一些人是否有些是神圣的。他们彼此非常了解,总是根据自己的个性“忠实地”回应他(即,他们总是说实话或撒谎)。他不敢问任何其他形式的问题,因为传说中,当一个恶魔成员不喜欢这个问题时,他会永远诅咒一个人。他有另一条有用的信息,传说告诉了两个部落的人口。传说中的这些数字是值得信赖的,因为生活在这个岛上的每个人都是不朽的,至少在这几千年里没有人出生过。
你是一名优秀的计算机程序员,因此被要求帮助 Akira 编写一个程序,根据居民对他的询问的回答对他们进行分类。
Input Format
输入由多行组成,每个测试点的格式如下:
n p1 p2
x1 y1 a1
x2 y2 a2
...
xi yi ai
...
xn yn an
第一行有三个非负整数 、 和 。 是 Akira 提出的问题数量。 和 分别是传说中神圣部落和恶魔部落的人口。接下来的 行中的每一行都有两个整数 、 和一个单词 ,表示询问了居民 ,问题是:“居民 是神圣部落的人吗?”。 和 是居民的识别号,每个识别号在 和 (包括 和 )之间。 要么是 yes,要么是 no。请注意, 和 可以是同一个数字,因为“你是神族的成员吗?”是一个有效的问题。还要注意,两行可能有相同的 和 ,因为 Akira 非常沮丧,可能不止一次向同一行问同一个问题。
你可以假设 小于 , 和 小于 。如果一行有三个零,即 0 0 0,表示输入的结束。你可以假设每个测试点都是一致的,没有矛盾的答案。
Output Format
对于每个数据集,如果它包含足够的信息来对所有居民进行分类,请按升序输出所有神圣居民的识别号,一行一个。此外,在输出数字之后,打印 end 于最后一行。否则,即如果给定的数据集不包括足够的信息来识别所有神圣的成员,请在最后一行中打印 no。
2 1 1
1 2 no
2 1 no
3 2 1
1 1 yes
2 2 yes
3 3 yes
2 2 1
1 2 yes
2 3 no
5 4 3
1 2 yes
1 3 no
4 5 yes
5 6 yes
6 7 no
0 0 0
no
no
1
2
end
3
4
5
6
end
Hint
对于 的数据,每个数据点内最多 10 组数据,,,。
京公网安备 11011102002149号