/*诚实族和说谎族是来自两个个荒岛的不同民族.诚实族的人水远说真话而说谎族的人水远说假话.
谜语博士是个聪明的人他来判断所遇到触人分别是哪个民族的. 谜语博士遇到三个人,为了调查这三个人是什么族的:博士分别问了他们问题.这是他们的对话.
第一个人:我们之中有两个来自诚实族
第二个人说:我们三个人中只有一个诚实族的。
第三个人说:只有一个诚实族的
*/
#include <stdio.h>
int main()
{
int a, b, c, aa, bb, cc;
for(a = 0; a < 2; a++)
{
for(b = 0; b < 2; b++)
{
for(c = 0; c < 2; c++)
{
for(aa = 0; aa < 2; aa++)
{
for(bb = 0; bb < 2; bb++)
{
for(cc = 0; cc < 2; cc++)
{
if((a + aa != 2 && b + bb != 2 && c + cc != 2) && (a + b + c == 1 && aa + bb + cc == 1) && ((a && !aa && b && !bb) || (!a && !b)) && (!b) && ((c && !b && !bb) ||((!c && !cc && !b) || (!c && cc))))
{
printf("A is %s\n", aa ? "double" :(a ? "honest" : "lier"));
printf("B is %s\n", bb ? "double" :(b ? "honest" : "lier"));
printf("C is %s\n", cc ? "double" :(c ? "honest" : "lier"));
}
}
}
}
}
}
}