在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>=1
a+d!=2
a+e+f==2
b+c==0||b+c==2
c+d==1
d+e==0||d==1
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int a,b,c,d,e,f;
for(a=1;a>=0;a--)
for(b=1;b>=0;b--)
for(c=1;c>=0;c--)
for(d=1;d>=0;d--)
for(e=1;e>=0;e--)
for(f=1;f>=0;f--)
if(a+b>=1&&a+b!=2&&a+e+f==2&&(b+c==0||b+c==2)&&c+d==1&&(d+e==0||d==1))
{
cout<<" a: "<<a<<endl;
cout<<" b: "<<b<<endl;
cout<<" c: "<<c<<endl;
cout<<" d: "<<d<<endl;
cout<<" e: "<<e<<endl;
cout<<" f: "<<f<<endl;
}
return 0;
}
结果: