QOJ.ac

QOJ

時間限制: 4 s 記憶體限制: 1024 MB 總分: 100

#2768. 寻找线索!

统计

Cluedo 是 20 世纪 40 年代在英国开发的游戏,是世界上最受欢迎的棋盘游戏之一。游戏的目标是确定是谁谋杀了 Body 先生,使用了什么凶器,以及谋杀发生的地点。游戏使用了一套代表六个人物(标记为 A, B, ..., F)、六种武器(标记为 G, H, ..., L)和九个房间(标记为 M, N, ..., U)的卡片。游戏开始时,随机抽取一张人物卡、一张武器卡和一张房间卡并从牌堆中移除——它们代表了凶手、凶器和案发地点。剩余的 18 张卡片被洗牌并分发给玩家,从玩家 1 开始,然后是她右侧的玩家 2,依此类推。有些玩家最终持有的卡片数量可能比其他人多一张。就本题而言,共有四名玩家,因此玩家 4 右侧的玩家是玩家 1。

游戏的其余部分用于寻找线索。玩家轮流进行,从玩家 1 开始并向右移动。一轮游戏包括提出一个建议(包括一名谋杀嫌疑人、一种武器和一个房间)并询问其他玩家是否有任何证据可以反驳该建议。例如,你可以对另一名玩家说:“我相信凶手是人物 A,使用武器 L,在房间 T。”如果对方持有这些卡片中的恰好一张,该玩家必须向你(且仅向你)展示那张卡片。如果他们持有不止一张此类卡片,他们可以展示其中的任意一张。

提出建议时,你必须首先询问你右侧的人是否有任何证据。如果他们没有,你就继续询问他们右侧的人,依此类推,直到有人提供证据,或者没有人持有你建议中的任何卡片。

很多时候,即使你不是提出建议的人,你也能获得信息。假设在上面的例子中,你是第三名玩家,持有卡片 A 和 T。如果其他人向提出建议的人展示了证据,你就知道那一定是武器卡 L。在玩游戏时,记录建议以及谁在每一轮提供了证据是一项重要的策略。

为了赢得游戏,你必须进行指控,即陈述你对凶手、凶器和房间的最终猜测。在陈述你的指控后,你检查游戏开始时放在一边的三张卡片——如果它们与你的指控相符,你就赢了!不用说,在进行指控之前,你肯定希望百分之百确定你的指控。

这就是你的问题。你是玩家 1。给定分发给你的卡片以及建议和证据的历史记录,你需要决定你距离能够进行指控还有多近。

输入格式

输入以一个整数 $n$ ($1 \le n \le 50$) 开头,表示游戏中提出的建议数量。接下来是一行,包含分发给你的五张卡片,均为范围在 ‘A’...‘U’ 之间的大写字母。剩余的 $n$ 行每行包含一个建议。这些行中的每一行都以三个字符开头,代表建议(按人物、武器、房间的顺序),后面跟着最多三名玩家的响应,从提出建议的玩家右侧的玩家开始。如果玩家没有提供证据,则列出 ‘-’(短横线);否则列出“证据字符”。如果你看到了具体的证据卡(要么是因为你提供了它,要么是因为你是接收证据的人),那么证据字符就是该卡片;否则证据字符为 ‘*’。注意,只有最后一次响应可以是证据字符。所有字符均由空格分隔。输入中仅出现有效的建议/响应序列。

输出格式

显示一个三字符字符串,标识凶手、凶器和房间。如果凶手可以确定,请使用该人物对应的字母;否则使用 ‘?’。对凶器和房间执行相同的操作。

样例

样例输入 1

1
B I P C F
A G M - - -

样例输出 1

AGM

样例输入 2

2
A B C D H
F G M M
F H M - *

样例输出 2

E??

样例输入 3

3
A C M S D
B G S - G
A H S - - S
C J S *

样例输出 3

???

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.