个人只会暴力,但是明显过不去,还请大佬给个思路orz
假设n名嫌疑人。对于每个嫌疑人,只允许他/她说一句话,要么是“我是无辜的”,要么是“a、b或c有罪”。在第二句话中,嫌疑人可以指出任何数量的“有罪”嫌疑人。此外,所有嫌疑人的编号从 1 到 n。
如今有 k 个嫌疑人在说实话
希望输出嫌疑人的名单
运行时间: 3s
测试用例:1≤k<n≤〖10〗^6
输入示例:
4, {1: [0], 2: [1, 4], 3: [1], 4: [0]}, 2
在这里,字典的键对应于可疑数字。该值记录了嫌疑人说了什么。考虑第一个条目 1:[0],这意味着嫌疑人 1 说“我是无辜的”;第二个条目 2:[1,4],表示嫌疑人 2 说“嫌疑人 1 或 4 有罪”。
输出示例:
[2, 3, 4]