时间限制: 1Sec 内存限制: 128MB
题目描述
某侦察队接到一项紧急任务,要求在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也不去。
问应当让哪几个人去?
输入
无
输出
要派出的人
若有多个,按字母递增顺序排列,用逗号分开(含末尾逗号)
样例输入
无
样例输出
A,B,C,F,
Codes&Analysis
一开始看到这种题目,我就不知道该怎么办了,但是看到一位大佬的解释,这道题目是求最优解,然后豁然开朗,着实厉害。
下面附上代码
#include<stdio.h>
int P[7]={
0};
void BiAdd(void)
{
//模拟二进制的增一
int i;
P[1]++;
for(i=1;i<=6;i++)
{
if(P[i