您的位置:首页 > 编程语言 > C语言/C++

委派任务C语言

2018-01-11 16:47 429 查看
问题描述:

某侦察队接到一项紧急任务要求在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也不去。

问应当让哪几个人去?

输入

输出

要派出的人

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

#include <stdio.h>
main()
{
int a,b,c,d,e,f;
for(a=0;a<=1;a++)
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
for(d=0;d<=1;d++)
for(e=0;e<=1;e++)
for(f=0;f<=1;f++)
if(a+b>=1&&a+d<=1&&a+e+f==2&&(b+c==2||b+c==0)&&c+d==1&&(d+e==0||d==1))
//判断条件,即题目的几个要求。
{
if(a)                   //判断真假a=0或者a=1
printf("A,");       //对应输出
if(b)
printf("B,");
if(c)
printf("C,");
if(d)
printf("D,");
if(e)
printf("E,");
if(f)
printf("F,");
}
}


此问题要抽象化,去与不去用01表示,然后对应输出相关人。相关关系用逻辑式表示。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  algorithm