6人の容疑者の犯罪捜査隊分析は謎に関与し、加害者を見つける、プログラムをコンパイル

;(2)A、E、Fトリオ犯罪に関与した少なくとも2人;(3)(1)A、犯罪を犯しBの少なくとも1人:分析のための謎に関わる6人の容疑者のどこかに犯罪捜査隊、Dは共犯ことができない;(4)B、C同時に又は犯罪、またはしない場合に関連する;(5)C、Dおよび犯罪のたった一人;(6)Dが犯罪に関与していない場合は、Eはできません犯罪を犯しに関与。デザインアルゴリズムは、加害者を見つけるために強引な方法を使用しています。

左に物事の算術符号を表し、そして真かどうかを判断する、ダイレクト出力が背後にあるものを実行していることはありません真停止している||、正しい判断と、出力の動作を継続する場合は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;
}
公開された93元の記事 ウォン称賛31 ビュー30000 +

おすすめ

転載: blog.csdn.net/weixin_43866567/article/details/104769828