#12021. Who is the Thief? / 谁是窃贼

Who is the Thief? / 谁是窃贼

Problem J33: Who is the Thief? / 谁是窃贼

版权信息: · 逻辑枚举推理题


任务总览

任务名称 时间限制 内存限制 分数
谁是窃贼 1 sec 1024 MB 10 points

题目描述

公安人员正在审问 4 名盗窃案嫌疑人。已知:

  • 这 4 人中 ​仅有一人是窃贼​;
  • 每个人要么是 ​诚实的​,要么是 ​说谎的​;
  • 每人对公安人员做出了一句陈述:

陈述内容如下:

  • ​甲(A)​:“乙没有偷,是丁偷的。”
  • ​乙(B):“我没有偷,是丙偷的。”
  • ​丙(C)​:“甲没有偷,是乙偷的。”
  • ​丁(D):“我没有偷。”

输入格式

无输入。


输出格式

输出一行:

The thief is: X

其中 XABCD 中的一个,表示真正的窃贼。


输入输出样例

输出示例

The thief is: D

题目分析与解法

✅ 已知条件:

  • 仅一人是窃贼;
  • 每人是“完全诚实”或“完全说谎”;
  • 窃贼说谎,诚实人说真话​;
  • 判断哪一种配置使得 仅一人是窃贼,且说谎者仅有该人一位 成立。

✅ 解题思路:

  • 枚举 A/B/C/D 为窃贼;
  • 模拟每句话的真假(结合是否为窃贼身份);
  • 判断是否只有该人说谎,其余三人都诚实。

时间复杂度分析

操作 复杂度
枚举 4 种身份 O(4)O(4)
每次验证逻辑 O(1)O(1)
总复杂度 O(1)O(1)​,非常快速