/*
* 程序的版权和版本声明部分
* 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;
}
心得体会:以后如果天天做这样的题,岂不是享受啊