|
longfeng867
注册会员
帖子:178 |
1#
大中
小发表于 2007-10-18 10:18 只看该作者
[分享]黑白问题/*有A,B,C,D,E,五人,每人额头上都帖着一张或黑或白的纸。五人对坐,每人都能看见别人的,
但看不见自己的。而且黑的撒谎,白的诚实。 A说:“我看见有三个人的是白纸,一人是黑纸”。 B说:“我看见四个人的都是黑纸”。 C说:“我看见有一个人的是白纸,三个人是黑纸”。 D说:“我看见四个人的都是白纸”。 E什么也没有说。*/ #include <stdio.h> main() { int a,b,c,d,e; //黑色为0,白色为1 for(a=0;a<=1;a++) //5个人头上帖纸的全部可能 for(b=0;b<=1;b++) for(c=0;c<=1;c++) for(d=0;d<=1;d++) for(e=0;e<=1;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)) { printf("A is %s:\n",a?"White":"Black"); printf("B is %s:\n",b?"White":"Black"); printf("C is %s:\n",c?"White":"Black"); printf("D is %s:\n",d?"White":"Black"); printf("E is %s:\n",e?"White":"Black"); } } |
|
TOP |









