C语言小游戏 - 猜凶手
2023-04-18 14:22:29 时间
猜凶手
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。
以下为4个嫌疑犯的供词 :
A说:不是我。 // 说话为真,结果是不是就为1,否则 0
B说:是C。
C说:是D。
//D说:C在胡说
已知3个人说了真话,1个人说的是假话。// 也就是说以上四个条件,有三个条件为真,一个为假
我们来先理一下逻辑
//凶手无非就是4人中的一个
//假设 A 是凶手:A假话,B假话,因为只有1个人说假话,那么 A 肯定不是凶手
//假设 B 是凶手, A真话,B假话,C假话,所以 B 不是凶手
//假设 C 是凶手, A真话,B真话,C假话,D真话,那么 C 满足条件,肯定是凶手
//假设 D 是凶手, A真话, B假话,C真话,D假话,所以 D 不是凶手
#include<stdio.h>
int main()
{
int killer = 0;
for (killer = 'A'; killer <= 'D'; killer++)//假设凶手,遍历4人
{
if (
(killer != 'A') // A说:不是我
+(killer == 'C') // B说:是C
+(killer == 'D') // C说:是D
+(killer != 'D')// D说:C在胡说 ( 不是我 )
== 3 // 判断是否满足3个人说真话的条件==
)
printf("%c
", killer); ==// 满足条件,我们就把凶手打印出来==
}
return 0;
}
相关文章
- 总结Win2003 Server与SQL Server 2005的远程连接过程
- 企业如何利用分析技术将洞察力转化为行动
- DB2性能优化准则
- 三月第三周系统升级录:开源的NoSQL数据库MongoDB
- DB2数据仓库OLAP服务:OLAP 服务入门
- SQL Server 2008的新特性概述:集成服务
- 解析如何提高SQL Server 的安全性
- 数据迁移的细节决定成败
- 改善数据中心布线的技巧
- 探寻数据中心能效问题的症结所在
- 两种方法完成Access数据库转Excel工作簿
- CYQ.Data数据框架的性能评测
- 惊讶?调查显示甲骨文对开源不利
- 深度解读数据中心虚拟化的网络挑战
- Win 7下SQL Server不能连接的一个案例解决
- 新一代数据中心H3C是支撑云计算的基础平台
- 专家分析关于虚拟化云产品的疑问(上)
- EXCEL构建财务分析数据库
- SQL Server资源管理之内存管理篇(下)
- SQL Server 2008内存及I/O性能监控