(百例编程)52.黑与白
2012-06-02 22:08
232 查看
题目:有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。五人对坐,每人都可以看到其它人额头上的纸的颜色。五人相互观察后,
A说:“我看见有三人额头上帖的是白纸,一人额头上帖的是黑纸。”
B说:“我看见其它四人额头上帖的都是黑纸。”
C说:“我看见一人额头上帖的是白纸,其它三人额头上帖的是黑纸。”
D说:“我看见四人额头上帖的都是白纸。”
E什么也没说。
现在已知额头上帖黑纸的人说的都是谎话,额头帖白纸的人说的都是实话。问这五人谁的额头是帖白纸,谁的额头是帖黑纸?
A说:“我看见有三人额头上帖的是白纸,一人额头上帖的是黑纸。”
B说:“我看见其它四人额头上帖的都是黑纸。”
C说:“我看见一人额头上帖的是白纸,其它三人额头上帖的是黑纸。”
D说:“我看见四人额头上帖的都是白纸。”
E什么也没说。
现在已知额头上帖黑纸的人说的都是谎话,额头帖白纸的人说的都是实话。问这五人谁的额头是帖白纸,谁的额头是帖黑纸?
/*题目:有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。 五人对坐,每人都可以看到其它人额头上的纸的颜色。五人相互观察后, A说:“我看见有三人额头上帖的是白纸,一人额头上帖的是黑纸。” B说:“我看见其它四人额头上帖的都是黑纸。” C说:“我看见一人额头上帖的是白纸,其它三人额头上帖的是黑纸。” D说:“我看见四人额头上帖的都是白纸。” E什么也没说。 现在已知额头上帖黑纸的人说的都是谎话,额头帖白纸的人说的都是实话。 问这五人谁的额头是帖白纸,谁的额头是帖黑纸? */ //by as1138 2011-04-15 #include <iostream> using namespace std; int main(void) { int a,b,c,d,e; 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) if (((a&&b+c+d+e==3)||(!a&&b+c+d+e!=3))&& ((b&&a+c+d+e==0)||(!b&&a+c+d+e!=0))&& ((c&&a+b+d+e==1)||(!c&&a+b+d+e!=1))&& ((d&&a+b+c+e==4)||(!d&&a+b+c+e!=4)) ) { if(a) cout<<"A贴的是白纸!"<<endl; else cout<<"A贴的是黑纸!"<<endl; if(b) cout<<"B贴的是白纸!"<<endl; else cout<<"B贴的是黑纸!"<<endl; if(c) cout<<"C贴的是白纸!"<<endl; else cout<<"C贴的是黑纸!"<<endl; if(d) cout<<"D贴的是白纸!"<<endl; else cout<<"D贴的是黑纸!"<<endl; if(e) cout<<"E贴的是白纸!"<<endl; else cout<<"E贴的是黑纸!"<<endl; } return 0; }
相关文章推荐
- (百例编程)5.求最大数
- (百例编程)32.可逆素数
- (百例编程)48.新娘和新郎
- (百例编程)62.由8个整数形成奇特的立方体
- Visual C++ 时尚编程百例012(非模态对话框)
- Visual C++ 时尚编程百例018(活动工具条)
- Visual C++ 时尚编程百例019(串行化)
- C/C++语言经典、实用、趣味程序设计编程百例精解(5)
- (百例编程)82.四方定理
- 精彩编程百例1
- (百例编程)6.高次方数的尾数
- (百例编程)33.回文素数
- (百例编程)38.换分币
- (百例编程)49.委派任务
- (百例编程)63.减式还原
- Visual C++ 时尚编程百例020(CFileDialog)
- C/C++语言经典、实用、趣味程序设计编程百例精解(6)
- (百例编程)7.阶乘尾数零的个数
- (百例编程)18.有限5位数
- (百例编程)35.素数幻方(可深究)