#NBMTM1B. 雪国侦探
雪国侦探
题目背景
暴风雪封锁了科洛列夫茨基剧院。十三人困于其中。死亡一夜接一夜降临。每个人都在发言,每个人都在指认别人。真相藏在一句又一句真假难辨的话里。
题目描述
有 个人,编号 到 。其中有 个【死之执政】 。每个人被标记为 或 。
规则:
- 一定不是【死之执政】,且说的所有话都是真的;
- 死掉的人一定不是【死之执政】,且死前最后一晚说的话是真的;
- 说的话可能是真的也可能是假的;
- 【死之执政】恰好有 个。
发言有三种:
I don't know anything.I think x is R.I think x is not R.
其中 x 是玩家编号。
如果能从真的发言中推出矛盾,输出 The truth is under mystery.。否则输出所有在一切可能情况下都必定是【死之执政】的人。
输入格式
从文件 sleuth.in 中读入数据。
第一行四个整数 。
接下来 行:姓名和 身份。
接下来 轮:
- 第一行 ,第二行 个死亡编号;(若 ,则不存在第二行 )
- 接下来若干行:编号 + 发言,直到本轮结束。
保证活着的所有人的发言有且仅有一次。
如果一个人在某一轮发言后死亡,那轮发言是遗言,一定是真的。
输出格式
输出到文件 sleuth.out 中。
有矛盾输出一行 The truth is under mystery. ;
否则先输出必然是【死之执政】的人数,再按编号从小到大输出姓名。
样例 1 输入
7 2 3 1
Odette P
Alyosha P
Valeriy N
Vesna P
Danica P
Noy P
Mitya P
0
1 I don't know anything.
2 I think 5 is R.
3 I think 7 is R.
4 I think 7 is R.
5 I don't know anything.
6 I think 4 is R.
7 I think 1 is not R.
2
1 4
2 I think 5 is R.
3 I think 2 is R.
5 I think 2 is R.
6 I think 4 is not R.
7 I think 3 is not R.
1
6
2 I think 5 is R.
3 I think 5 is not R.
5 I don't know anything.
7 I think 2 is not R.
样例 1 输出
2
Alyosha
Mitya
样例 1 解释
,,即 7 人中恰有 2 个【死之执政】。
已知 Valeriy(编号 3)是 ,必不是 ,且发言全真;其余 6 人为 ,发言可真可假,这里不过多赘述,考生可以自行判断这些发言的真假。
第一轮:无人死亡
本轮无人死亡,所以没有遗言约束。
第一轮发言:
- 3:
I think 7 is R.
注意 3 是 ,发言必真。3 在第一轮说“7 是 ”,因此:
7 是 。
第二轮:死亡 1、4
死人一定不是 ,所以:
- 1 不是 ;
- 4 不是 。
死人最后一晚的发言必真,即第一轮发言必真:
- 1 说
I don't know anything.——真; - 4 说
I think 7 is R.——真,所以再次印证 7 是 。
第二轮发言:
- 3:
I think 2 is R.
注意 3 是 ,发言必真。3 在第二轮说“2 是 ”,因此:
2 是 。
于是两个 已经确定:2 和 7。
但为了确认是否存在矛盾,我们需要继续查看第三轮。
第三轮:死亡 6
死人一定不是 ,所以:
- 6 不是 ;
死人最后一晚的发言必真,即第二轮发言必真:
- 6 说
I think 4 is not R.——真,与已知一致。
第三轮发言:
- 3:
I think 5 is not R.
注意 3 是 ,发言必真。3 在第三轮说“5 不是 ”,因此:
5 不是 。
这不与已知矛盾。
结论
在所有合法可能中,必定是【死之执政】的人为:
- 2 号 Alyosha
- 7 号 Mitya
共 2 人,按编号从小到大输出。
样例 2
见选手目录下的 sleuth/sleuth2.in 与 sleuth/sleuth2.ans。
样例 3
见选手目录下的 sleuth/sleuth3.in 与 sleuth/sleuth3.ans。
样例 4
见选手目录下的 sleuth/sleuth4.in 与 sleuth/sleuth4.ans。
数据范围
对于所有测试数据,保证:,,。
| 测试点 | 特殊性质 | |||
|---|---|---|---|---|
| 无 | ||||
| 无 | ||||
特殊性质 :所有 总是在最后发言。
特殊性质 :无法通过普通程序完成。
对于该特殊性质,满足,所有对话均为I don't know anything.。
但请注意,该特殊性质下的数据的答案并非是
0
而是完全符合原著剧情的结果。
你的输出应为
1
(根据原著内容判断,注意应当是一个首字母大写的字符串)
原著剧情见选手目录下的 sleuth/plot.mp4 。
相关
在下列比赛中: