#1824. 推理游戏

推理游戏

题目描述

让李旭琳大跌眼镜的是,小墨老师对学习魔法知识并不是很上心,他天天沉迷于各种游戏之中,例如,他现在又和同学们玩起了Black\red{Black} Vienna\red{Vienna}游戏,该游戏的规则是这样的:有18\red{18}张牌,分别标着AR\red{A\sim R},游戏有三个人。游戏开始的时候每个人拿5\red{5}张牌,剩下三张牌隐藏起来,大家都只能看见自己手中的牌。之后,从第一个人到第三个人轮流拿一张“审问牌”去问另外的一个人,“审问牌”上有三个字母,那个人必须诚实地回答自己手中有多少“审问牌”中的字母。哪个人能够最先推断出隐藏起来的牌是什么,那个人就取得胜利。现在你的任务是,给出三个人手上的牌和询问情况,你需要计算出最早在哪一次询问之后,有人能够推断出隐藏的牌。

例如三个玩家的初始状态为:

玩家1\red 1: DGJLP\red{DGJLP}; 玩家2\red 2: EFOQR\red{EFOQR}; 玩家3\red 3: ACHMN\red{ACHMN}; 隐藏牌: BIK\red{BIK}

1\red 1回合:玩家\red 1审问玩家\red 2有无BJK\red{BJK}; 回答为0\red 0

2\red 2回合:玩家2\red 2审问玩家\red 3有无ABK\red{ABK}; 回答为1\red 1

\red 3回合:玩家\red 3审问玩家\red 2有无DEF\red{DEF};回答为2\red 2

4\red 4回合:玩家1\red 1审问玩家2\red 2有无EIL\red{EIL}; 回答为1\red 1

5\red 5回合:玩家2\red 2审问玩家3\red 3有无FIP\red{FIP}; 回答为0\red 0

6\red 6回合:玩家3\red 3审问玩家\red 1有无GMO\red{GMO}; 回答为1\red 1

7\red 7回合:玩家1\red 1审问玩家\red 2有无OQR\red{OQR};回答为3\red 3

8\red 8回合:玩家2\red 2 审问玩家\red 3有无ADQ\red{ADQ}; 回答为1\red 1

9\red 9回合:玩家3\red 3审问玩家1\red 1有无EGJ\red{EGJ};回答为2\red 2

事实上,玩家\red 1能在第\red 8回合判断出隐藏牌是BIK\red{BIK}

输入格式

输入最多有12\red{12}组测试数据,所有测试数据结束以\red{0}表示。每组测试数据第一行为一整数t\red{t},表示审问次数。且2t15\red{2 ≤ t ≤ 15}

下一行包含四个以空格分隔的字符串,表示三个玩家的牌和隐藏牌。

接下来的t\red{t}行数据为每回合的数据,即审问者和被审问者,审问字母的字符串及被审问者提供的答案。

所有的字符串为从A\red{A}R\red{R}的唯一字母,按严格递增的顺序排列。同样的查询字符串可能出现在多个回合的游戏。

输出格式

输出最早第几回合,即有玩家判断出隐藏牌。若无玩家能判断出,则输出字符串?\red{“?”}

样例

输入样例

9

DGJLP EFOQR ACHMN BIK

2 BJK 0

3 ABK 1

2 DEF 2

2 EIL 1

3 FIP 0

1 GMO 1

2 OQR 3

3 ADQ 1

1 EGJ 2

3

ABCDE FGHIJ KLMNO PQR

3 BKQ 1

1 ADE 3

2 CHJ 2

0

输出样例

8

?