阅读背景:

第17周项目24-委派任务

来源:互联网 
/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称:main.cpp
* 作    者:孔云
* 完成日期:2013年12月22日
* 版 本 号: v1.0
* 输入描述:某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
   A和B两人中至少去一人;
   A和D不能一起去;
   A、E和F三人中要派两人去;
   B和C都去或都不去;
   C和D两人中去一个;
   若D不去,则E也不去。
   问应当让哪几个人去?
* 问题描述:用a、b、c、d、e、f六个变量表示六个人是否去执行任务的状态,变量的值为1,则表示该人去;变量的值为0,则表示该人不参加执行任务,根据题意可写出表达式:
   a+b>1     //A和B两人中至少去一人;
   a+d!=2      //A和D不能一起去;
   a+e+f==2     // A、E、F三人中要派两人去;
   b+c==0或b+c==2     // B和C都去或都不去;
   c+d==1      //C和D两人中去一个;
   d+e==0或d==1       //若D不去,则E也不去(都不去;或D去E随便)。
*/
#include<iostream>
using namespace std;
int main()
{
    int a,b,c,d,e,f;
    for(a=0; a<2; a++)
        for(b=0; b<2; b++)
            for(c=0; c<2; c++)
                for(d=0; d<2; d++)
                    for(e=0; e<2; e++)
                        for(f=0; f<2; 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可以去执行"<<endl;
                                if(b==1)
                                    cout<<"B可以去执行"<<endl;
                                if(c==1)
                                    cout<<"C可以去执行"<<endl;
                                if(d==1)
                                    cout<<"D可以去执行"<<endl;
                                if(e==1)
                                    cout<<"E可以去执行"<<endl;
                                if(f==1)
                                    cout<<"F可以去执行"<<endl;
                                cout<<"一共有"<<(a+b+c+d+e+f)<<"人去执行任务"<<endl;
                            }
    return 0;
}
/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: