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;
}
离散数学 屈婉玲 第二版 45面 第29题代码实现
最新推荐文章于 2024-01-07 16:33:43 发布