第九周项目6-穷举法之谁去参加
委派任务:某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
l A和B两人中至少去一人;
l A和D不能一起去;
l A、E和F三人中要派两人去;
l B和C都去或都不去;
l C和D两人中去一个;
l 若D不去,则E也不去。
问应当让哪几个人去?
构建代码:
/* *Copyright (c) 2014,烟台大学计算机学院 *All gight reserved. *文件名称:temp.cpp *作者:邵帅 *完成时间:2014年10月24日 *版本号:v1.0 * *问题描述:谁去参加 *输入描述:无 *程序输出;6种参加情况 */ #include<iostream> using namespace std; int main() { int a,b,c,d,e,f;//1代表参加,0代表不参加 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+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; else cout<<"a不去参加"<<endl; if (b==1) cout<<"b去参加"<<endl; else cout<<"b不去参加"<<endl; if (c==1) cout<<"c去参加"<<endl; else cout<<"c不去参加"<<endl; if (d==1) cout<<"d去参加"<<endl; else cout<<"d不去参加"<<endl; if (e==1) cout<<"e去参加"<<endl;<strong> </strong> else cout<<"e不去参加"<<endl; if (f==1) cout<<"f去参加"<<endl; else cout<<"f不去参加"<<endl; } } } } } } } return 0; }<strong> </strong>
运行结果:
@ Mayuko