#P1805. Friends

    ID: 806 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>数据结构TUD Programming Contest 2003DarmstadtGermany

Friends

描述
你知道这个问题……几个朋友每周三在Hacienda(一家相当不错的餐厅)聚会,喝点酒,玩得很开心,直到有人提出那个可怕的问题:“那么,今晚我们去哪里?”

此时基本上会发生两种情况:要么采用瑞典式解决方案,要么采用意大利式解决方案。瑞典式解决方案意味着大约五分钟的绝对尴尬沉默,期间只被一两次低声的“呃,我无所谓……”打断,然后他们最终(当然也是默默地)同意喝得烂醉。意大利式解决方案包括(但不限于)大量喊叫、Hacienda里的全面混乱,以及可能的“家庭”问题。

但是等等,是的——你说得对。我们在德国,所以我们的朋友当然会采用德国式解决方案。那就是:投票!

问题

正如你所想象的,朋友们并不会仅仅根据当前的心情投票决定去某个地方。实际上,这更多地取决于某个周三谁在场。以下是规则:

  1. Anne 总是投票去电影院。
  2. 如果 Karin 也在场,Bob 会投票去迪斯科。
  3. 如果 Charly 在场,Karin 会投票去迪斯科;如果 Charly 不在场但 Anne 在场,Karin 会投票去电影院;如果 Charly 和 Anne 都不在场,Karin 会投票去鸡尾酒吧。
  4. Dave 是那种从不投票的人。
  5. 如果 Dave 在场,Bob 会投票去鸡尾酒吧。
  6. 如果 Charly 和 Anne 都在场,他们俩都会投票去电影院。
  7. 如果 Anne 在场且 Charly 不在场,Edward 会投票去鸡尾酒吧;否则,Edward 会投票去电影院。
  8. 如果 Edward 在场,Bob 会投票去鸡尾酒吧。
  9. 如果 Bob 和 Anne 都不在场,Frank 会投票去电影院;如果 Anne 在场,Frank 会投票去迪斯科。
  10. 如果 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