#P1805. Friends
Friends
描述
你知道这个问题……几个朋友每周三在Hacienda(一家相当不错的餐厅)聚会,喝点酒,玩得很开心,直到有人提出那个可怕的问题:“那么,今晚我们去哪里?”
此时基本上会发生两种情况:要么采用瑞典式解决方案,要么采用意大利式解决方案。瑞典式解决方案意味着大约五分钟的绝对尴尬沉默,期间只被一两次低声的“呃,我无所谓……”打断,然后他们最终(当然也是默默地)同意喝得烂醉。意大利式解决方案包括(但不限于)大量喊叫、Hacienda里的全面混乱,以及可能的“家庭”问题。
但是等等,是的——你说得对。我们在德国,所以我们的朋友当然会采用德国式解决方案。那就是:投票!
问题
正如你所想象的,朋友们并不会仅仅根据当前的心情投票决定去某个地方。实际上,这更多地取决于某个周三谁在场。以下是规则:
- Anne 总是投票去电影院。
- 如果 Karin 也在场,Bob 会投票去迪斯科。
- 如果 Charly 在场,Karin 会投票去迪斯科;如果 Charly 不在场但 Anne 在场,Karin 会投票去电影院;如果 Charly 和 Anne 都不在场,Karin 会投票去鸡尾酒吧。
- Dave 是那种从不投票的人。
- 如果 Dave 在场,Bob 会投票去鸡尾酒吧。
- 如果 Charly 和 Anne 都在场,他们俩都会投票去电影院。
- 如果 Anne 在场且 Charly 不在场,Edward 会投票去鸡尾酒吧;否则,Edward 会投票去电影院。
- 如果 Edward 在场,Bob 会投票去鸡尾酒吧。
- 如果 Bob 和 Anne 都不在场,Frank 会投票去电影院;如果 Anne 在场,Frank 会投票去迪斯科。
- 如果 Anne 不在场,Bob 会投票去鸡尾酒吧。
对于给定的一个周三,统计当天在场的朋友们对每个地方的投票数。如果没有规则适用于在场的某个朋友,或者如果多条规则适用且要求该朋友投票去不同的地方,则该朋友在当天放弃投票。
输入
第一行包含场景数(周三聚会的次数)。
对于每个场景,有一行包含在场朋友的名字。名字之间用单个空格分隔,且仅由字母组成。同一行中不会出现相同的名字。
输出
每个场景的输出以一行“Scenario #i:”开始,其中i是从1开始的场景编号。
然后对于每个场景,打印一行包含获得最多票数的地方。可能的地方是“cinema”、“cocktail bar”和“disco”。如果没有任何一个地方的票数多于其他两个,则打印“stay at the Hacienda”。
在每个场景的输出后加一个空行。
输入数据 1
2
Frank Dave
Karin Frank
输出数据 1
Scenario #1:
cinema
Scenario #2:
stay at the Hacienda
来源
TUD Programming Contest 2003, Darmstadt, Germany