1881 - 【C语言训练】委派任务*

某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:

1)A和B两人中至少去一人;
2)A和D不能一起去;
3)A、E和F三人中要派两人去;
4)B和C都去或都不去;
5)C和D两人中去一个;
6)若D不去,则E也不去。
问应当让哪几个人去?

题目输入

题目输出

要派出的人

若有多个,按字母递增顺序排列,用逗号分开(含末尾逗号)

输入/输出样例

题目输入

no input needed

题目输出

A,B,C,F,

C++解答

#include<iostream>
using namespace std;
int main()
{
	for (int a=0; a<=1; a++)
		for (int b=0; b<=1; b++)
			for (int c=0; c<=1; c++)
				for (int d=0; d<=1; d++)
					for (int e=0; e<=1; e++)
						for (int f=0; f<=1; f++)
							if (a+b>=1 && a+d!=2 && a+e+f==2 && (b+c==0||b+c==2)
								&& c+d==1 && (d+e==0||d==1))
							{
								if (a==1) cout<<"A,";
								if (b==1) cout<<"B,";
								if (c==1) cout<<"C,";
								if (d==1) cout<<"D,";
								if (e==1) cout<<"E,";
								if (f==1) cout<<"F,";
								cout<<endl;
							}
	return 0;
}
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题