第三周项目5:穷举法解决组合问题---委派任务问题



问题及代码

/* 

 *Copyright (c) 2016,烟台大学计算机学院 

 *All rights reserved. 

 *文件名称:zwj.cpp 

 *作    者:张晴晴

 *完成日期:2016年3月20日 

 *版 本 号:v1.0 

 * 

 *问题描述:
<img src="http://img.blog.csdn.net/20160320104943300" alt="" />

 

 *输入描述:无 

 *程序输出:五个人谁去谁不去。

 */  

 #include<iostream>

  using namespace std;

 int 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)!=2 && a+e+f==2 && (b+c==0 || b+c==2 )&&c+d==1 && (d+e==0 || d==1))

                           {

                            cout<<"A"<<(a==0?"不去":"去")<<endl;

                            cout<<"B"<<(b==0?"不去":"去")<<endl;

                            cout<<"C"<<(c==0?"不去":"去")<<endl;

                            cout<<"D"<<(d==0?"不去":"去")<<endl;

                            cout<<"E"<<(e==0?"不去":"去")<<endl;

                            cout<<"F"<<(f==0?"不去":"去")<<endl;

                            }

 

                        }

 return 0;

 }

运行结果:

第三周项目5:穷举法解决组合问题---委派任务问题_第1张图片

知识点总结:后来才知道使用了笨方法,其实判断a,b,c,d,e,f的时候不用判断是否等于0;格式可以写成cout<<”A”<<(a?” ”:”不”)<<”去”<<endl;这样a如果等于1为真就输出空格再输出“去”,如果a=0为假就输出“不”“去”。


学习心得:上面是看了张伟晶博客里反思到的,同学之间真的应该多取经,互相学习。
 




你可能感兴趣的:(第三周项目5:穷举法解决组合问题---委派任务问题)