#P13243. [GCJ 2014 Qualification] Magic Trick
[GCJ 2014 Qualification] Magic Trick
Description
最近你去看了一场魔术表演。你对其中的一个戏法印象深刻,因此你决定尝试揭开其中的秘密!
魔术师首先将 张牌摆成一个正方形:共 行,每行 张牌。每张牌正面都写有 到 中的一个不同的数字。接着,魔术师请一位观众选择一张牌,并告诉他这张牌所在的行号。
然后,魔术师可能以不同的顺序再次将 张牌摆成一个正方形。魔术师再次询问观众她的牌现在在第几行。仅凭观众对这两个问题的回答,魔术师就能准确地说出观众选的是哪张牌。不可思议,对吧?
你决定写一个程序来帮助你理解魔术师的技巧。程序将获得两次牌面布局,以及观众对于两个问题的回答:第一次布局所选牌的行号,以及第二次布局所选牌的行号。行号从上到下编号为 到 。
你的程序应当判断观众选的是哪张牌;或者如果有多种可能的牌(即魔术师失误),输出“Bad magician!”;或者如果没有任何牌符合观众的答案(即观众作弊),输出“Volunteer cheated!”。
Input Format
输入的第一行包含一个整数 ,表示测试用例数。接下来有 组测试用例。每组测试用例的第一行为一个整数,表示第一次提问的答案。接下来的 行为第一次的牌面布局,每行 个整数,空格分隔。再下一行为第二次提问的答案,接着的 行为第二次的牌面布局,格式同上。
Output Format
对于每组测试用例,输出一行 "Case #: ",其中 为测试用例编号(从 开始)。
- 如果只有一张牌符合观众的选择, 应为该牌上的数字。
- 如果有多张牌符合观众的选择, 应为 "Bad magician!"(不含引号)。
- 如果没有任何牌符合观众的答案, 应为 "Volunteer cheated!"(不含引号)。
- 输出内容必须完全一致,建议直接复制粘贴上述文本。
3
2
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
3
1 2 5 4
3 11 6 15
9 10 7 12
13 14 8 16
2
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
2
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
2
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
3
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
Case #1: 7
Case #2: Bad magician!
Case #3: Volunteer cheated!
Hint
数据范围(6 分)
- 。
- 两次回答 。
- 到 的每个数字在每次布局中恰好出现一次。
翻译由 GPT4.1 完成。
京公网安备 11011102002149号