第9周项目6穷举法解决问题(委派任务)

穷举法解决任务分配
本文通过穷举法实现了一种任务分配方案的计算方法,适用于A到F六名队员的任务分配问题。程序使用C++编写,展示了如何通过条件判断找到所有符合条件的任务分配方案。
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:te.cpp
*作    者  张伟建
完成日期:2014年10月27日
*版 本 号:v1.0
*
*问题描述:A,B,C,D,E,F六个队员做任务
*输入描述:无输入
*输出描述:所有的方案
*/
#include<iostream>
using namespace std;
int main()
{
    int a,b,c,d,e,f,count=0;
    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))
                            {
                                count++;
                                if(a==1)  cout<<"a去 ";
                                else cout<<"a不去 " ;
                                if(b==1)  cout<<"b去 ";
                                else cout<<"b不去 ";
                                if(c==1)   cout<<"c去 " ;
                                else cout<<"c不去 " ;
                                if(d==1)   cout<<"d去 " ;
                                else cout<<"d不去 " ;
                                if(e==1)   cout<<"e去 " ;
                                else  cout<<"e不去 " ;
                                if (f==1)  cout<<"f去 " ;
                                else cout<<"f不去 " ;
                            }

    return 0;
}

知识点总结:要在if语句里加入0,1表示的含义。

学习心得:相同的穷举法程序。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值