/*
警察局抓住了A、B、C、D四名盗窃嫌疑犯,其中只有一人是小偷。在审问时,A说:“我不是小偷”;
B说:“C是小偷”;C说:“小偷肯定是D”;D说:“C在冤枉好人”。
现在已经知道这四人中有三人说的是真话,一人说的是假话。请问到底谁是小偷?
*/
#include <stdio.h>
int main()
{
int a, b, c, d;// 穷举, a,b,c,d要么是小偷,要么不是
for (a = 1; a >= 0; a--)
{
for (b = 1; b >= 0; b--)
{
for (c = 1; c >= 0; c--)
{
for (d = 1; d >=0; d--)
{
if ((!a) + c + d + (!d) == 3 && a + b + c + d == 1 )
{
printf("a:%d, b:%d, c:%d, d:%d \n", a, b, c, d);
}
}
}
}
}
getchar();
return 0;
}
// 答案: c 是小偷