离散数学 屈婉玲 第二版 45面 第29题代码实现

29:在某班班委成员的选举中,已知王小红、李强、丁金生三位同学被选进了班委会,该班的甲,乙,两三名学生预言如下。
甲说:王小红为班长,李强为生活委员。
乙说:丁金生为班长,王小红为生活委员。
丙说:李强为班长,王小红为学习委员。
班委会分工名单公布后发现,甲、乙、丙三人都恰好猜对了一半。问:王小红,李强,丁金生各任何职?
#include<iostream>
using namespace std;
int main(){
int a,b,c,d,e,f;    //a:王小红是班长  b:丁金生是班长  c:李强是班长  d:李强是生活委员  e:王小红是生活委员  f:王小红是学习委员
for(int a=0;a<=1;a++){
    for(int b=0;b<=1;b++){
        for(int c=0;c<=1;c++){
            for(int d=0;d<=1;d++){
                for(int e=0;e<=1;e++){
                    for(int f=0;f<=1;f++){
                        if(((a&&!d)||(!a&&d))&&((b&&!e)||(!b&&e))&&((c&&!f)||(!c&&f))&&(a+b+c==1)&&(d+e==1)&&(a+e+f==1))
                        {
                            if(a==1) cout<<"王小红是班长"<<endl;
                            if(b==1) cout<<"丁金生是班长"<<endl;
                            if(c==1) cout<<"李强是班长"<<endl;
                            if(d==1) cout<<"李强是生活委员"<<endl;
                            if(e==1) cout<<"王小红是生活委员"<<endl;
                            if(f==1) cout<<"王小红是学习委员"<<endl;
                        }
                    }
                }
            }
        }
    }
}
    return 0;
}

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值