谁是嫌疑犯问题
问题描述:
有6名犯罪嫌疑人A、B、C、D、E、F,已知如下事实:
A、B至少有1人作案;
A、E、F三人中至少有2人参与作案;
A、D不可能是同案犯;
B、C或同时作案,或与本案无关;
C、D中有且仅有1人作案;
如果D没有参与作案,则E也不可能参与作案。请推理出谁作了案。
此题为多人作案(也可能仅一个作案),每人都有作案(1)和不作案(0)两种情况,枚举各人是否作案,再用“事实”来判定是否符合事实,如符合则输出作案人。
解题思路:
此题关键是怎样将文字描述的“事实”转变为计算机可能处理的条件式,同时满足题目给出的六条“事实”。
如果用0表示不参与作案(简称不作案),1表示参与作案(简称作案),则:
第1条事实:A+B≥1;至少1人作案
第2条事实:A+B+F≥2;至少2人作案
第3条事实:A*D=0,或A+D≤1;不可能是同案犯
第4条事实:B=C;B作案C也作案,B不作案C也不作案,
第5条事实:C+D=1;有且仅有1人作案,即1人作案,另1人不作案
第6条事实:D≥E;只要D不作案,E也不作案
下面是用枚举法遍历所有可能出现的罪犯组合,挑选出符合条件的组合。
完整程序如下:
'''问题描述:有6名犯罪嫌疑人A、B、C、D、E、F,已知如下事实:
A、B至少有1人作案;
A、E、F三人中至少有2人参与作案;
A、D不可能是同案犯;
B、C或同时作案,或与本案无关;
C、D中有且仅有1人作案;
如果D没有参与作案,则E也不可能参与作案。请推理出谁作了案。
'''
suspects = ['A', 'B', 'C', 'D', 'E', 'F']
criminal_dict = {0: '未参与作案', 1: '参与作案'}
n = 0
for a in range(0, 2):for b in range(0,2):for c in range(0,2):for d in range(0,2):for e in range(0,2):for f in range(0,2):if (a + b >= 1) and (a + e + f >= 2) and (a + d <= 1) \and (b == c) and (c + d == 1) and (d >= e):result = zip(suspects, [criminal_dict[a],criminal_dict[b], criminal_dict[c],criminal_dict[d], criminal_dict[e],criminal_dict[f]])print(f'第{n+1}种作案方案:')for i in result:print(f'{i[0]}: {i[1]}')n = n + 1
print(f'\n总共有{n}种作案方案。')
运行结果:

相关文章:
谁是嫌疑犯问题
问题描述: 有6名犯罪嫌疑人A、B、C、D、E、F,已知如下事实: A、B至少有1人作案; A、E、F三人中至少有2人参与作案; A、D不可能是同案犯; B、C或同时作案,或与本案无关; C、D中…...
Netty中使用编解码器框架
目录 什么是编解码器? 解码器 将字节解码为消息 将一种消息类型解码为另一种 TooLongFrameException 编码器 将消息编码为字节 将消息编码为消息 编解码器类 通过http协议实现SSL/TLS和Web服务 什么是编解码器? 每个网络应用程序都必须定义如何…...
【漏洞复现】斐讯FIR151M路由器未授权下载漏洞
Nx01 产品简介 斐讯数据通信技术有限公司成立于2009年,是为用户提供智慧家庭领域智能产品和云服务的科技创新性企业。 Nx02 漏洞描述 斐讯 FIR151M路由器配置文件未授权下载漏洞,攻击者可利用该漏洞获取敏感信息。 Nx03 产品主页 fofa-query: app"PHICOMM-F…...
【SpringBoot】application配置(5)
type-aliases-package: com.rabbiter.cm.domaintype-aliases-package: 这个配置用于指定mybatis的别名,别名是一个简化的方式,让你在Mapper xml 文件中引用java类型,而不需要使用使用完整的类名。例如,如果你在 com.rabbiter.cm.d…...
Linux安全技术与iptables防火墙
一.安全技术: 入侵检测系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,…...
QT QCombox 样式表 比起作用
对QCombox在ui编辑器中进行美化,发现外表美化有效果,但下拉框的高度美化的没效果,查看样式表也没有没问题,样式表中内容如下。 QComboBox#curve_comboBox {min-width: 150px;min-height:40;max-width: 150px;max-height:40;borde…...
在 Windows 10 上使用 Visual Studio 2022 进行 C++ 桌面开发
工具下载链接:https://pan.quark.cn/s/c70b23901ccb 环境介绍 在今天的快速发展的软件开发行业中,选择合适的开发环境是非常关键的一步。对于C开发人员来说,Visual Studio 2022(VS2022)是一个强大的集成开发环境&…...
如何安装x11vnc并结合cpolar实现win远程桌面Deepin
文章目录 1. 安装x11vnc2. 本地远程连接测试3. Deepin安装Cpolar4. 配置公网远程地址5. 公网远程连接Deepin桌面6. 固定连接公网地址7. 固定公网地址连接测试 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂ÿ…...
C++基础入门Day1
C基础入门Day1 1.1 第一个C程序 编写一个C程序需要四个步骤 创建项目创建文件编写代码运行程序 1.1.1 创建项目 VS2022 1.1.2 创建文件 main.cpp 1.1.3 编写代码 注意:编写时键盘必须调整成英文 基本框架 #include <iostream> using namespace std…...
【高质量精品】2024美赛A题22页word版成品论文+数据+多版本前三问代码及代码讲解+前四问思路模型等(后续会更新)
一定要点击文末的卡片,进入后,即可获取完整资料后续参考论文!! 整体分析:这个题目是一个典型的生态系统建模问题,涉及到动物种群的性比例变化、资源可用性、环境因素、生态系统相互作用等多个方面。这个题目的难点在于如何建立一个合理的数学…...
Spark context stopped while waiting for backend
目录 报错信息 解决办法 解释 报错信息 Spark context stopped while waiting for backend 翻译过来就是 :Spark上下文在等待后端时停止 解决办法 通过在yarn-site.xml中添加如下配置项,并重启yarn,程序在 “–driver-memory 600m --e…...
保研机试算法训练个人记录笔记(三)
目录 基于范围的for循环 push_back return {it->second, i} 基于范围的for循环 for (const string& ageValue : age["Peter"]) 是C中的一种范围基于的for循环(也称为基于范围的for循环),它用于遍历容器中的元素。在这个…...
2月6日作业
1.现有无序序列数组为23,24,12,5,33,5347,请使用以下排序实现编程 函数1:请使用冒泡排序实现升序排序 函数2:请使用简单选择排序实现升序排序 函数3:请使用快速排序实现升序排序 函数4:请使用插入排序实现升序排序 #include<stdio.h> #include<string.h&…...
rust给py写拓展如此简单
很久没写rust,主要是写业务逻辑实在用不上这高性能.不过惊奇发现rust和py结合的如此之好,记录下: 搞一个python环境,pip install maturin建立一个项目文件,cd进去 maturin init照着生成模版正常写rust,完毕后maturin develop,注意这个命令包括把拓展包安装到虚拟环境site pack…...
白嫖10款游戏加速器,一年都不用开会员!
过年期间你们是走亲串戚还是窝家玩游戏、追剧?相信很多小伙伴都不会放过这个难得的假期,肯定是会百忙之中来两把的,那么人一多玩游戏肯定就会拥堵,有延迟。解决延迟最好的办法就是用加速器,当你的网络比别人强时&#…...
Kafka SASL_SSL双重认证
文章目录 1. 背景2. 环境3. 操作步骤3.1 生成SSL证书3.2 配置zookeeper认证3.3 配置kafka安全认证3.4 使用kafka客户端进行验证3.5 使用Java端代码进行认证 1. 背景 kafka提供了多种安全认证机制,主要分为SASL和SSL两大类。 SASL: 是一种身份验证机制&…...
css新手教程
css新手教程 课程:14、盒子模型及边框使用_哔哩哔哩_bilibili 一.什么是CSS 1.什么是CSS Cascading Style Sheet 层叠样式表。 CSS:表现(美化网页) 字体,颜色,边距,高度,宽度&am…...
spring boot(2.4.x之前版本)和spring cloud项目中配置文件的作用
spring 版本以及相关的组件一直在变化,其中一些类或者功能在低版本中有,高版本中去掉了,有的新功能只在高版本有。 为了防止理解问题,pom.xml 版本依赖如下 <parent><groupId>org.springframework.boot</groupId…...
web前后端小坑记录
游戏服务器过年这段时间忙完了,好久没看web了,重温一下。发现竟然没有文章记录这些修BUG的过程,记录一下。 目录 如何处理F5刷新? 如何处理F5刷新? 后端应该发现路由不存在,直接返回打包好的index.html就…...
股票K线简介
股票K线(K-Line)是用于表示股票价格走势的图形,主要由四个关键价格点组成:开盘价、收盘价、最高价和最低价。K线图广泛应用于股票市场技术分析中,它提供了丰富的信息,帮助分析师和投资者理解市场的行情走势…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
