刑侦大队对涉及六个嫌疑人的一桩疑案的分析,编一程序,将作案人找出来

某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:(1)A、B至少有一人作案;(2)A、E、F三人中至少有两人参与作案;(3)A、D不可能是同案犯;(4)B、C或同时作案,或与本案无关;(5)C、D中有且仅有一人作案;(6)如果D没有参与作案,则E也不可能参与作案。采用蛮力法设计算法将作案人找出来。

|| 表示先运算符号左边的东西,然后判断是否为true,是true就停下来直接输出不会再运行后面的东西,是false就继续运算右边的然后判断并输出。

&& 表示先运算符号左边的东西,然后判断是否为true,是true就继续运算右边的然后判断并输出,是false就停下来直接输出不会再运行后面的东西。

#include<iostream>
using namespace std;
int main()
{
	int A, B, C, D, E, F;//定义A到E六个变量,作案等于1,否则等于0
	for (A = 0; A <= 1; A += 1)
		for (B = 0; B <= 1; B += 1)
			for (C = 0; C <= 1; C += 1)
				for (D = 0; D <= 1; D += 1)
					for (E = 0; E <= 1; E += 1)
						for (F = 0; F <= 1; F += 1)
						{
								if (6 ==
									(A || B)				//A、B 至少有一人作案
									+ (!(A && D))				//A、D 不可能是同案犯
									+ ((A && E) || (A && F) || (E && F))	//A、E、F 三人中至少有两人参与作案
									+ ((B && C) || (!B && !C))		//B、C 或同时作案,或与本案无关
									+ ((C && !D) || (D && !C))		//C、D 中有且仅有一人作案
									+ (D || (!E)))//如果 D 没有参与作案,则 E 也不可能参与作案。
							{
								cout << "A " << "B " << "C " << "D " << "E " << "F " << endl;
								cout << A << " " << B << " " << C << " " << D << " " << E << " " << F << " " << endl;
							}
						}
	return 0;
}
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值