谁是罪犯问题

1、谁是罪犯问题

    一位法官在审理一起盗窃案时,对涉及到的四名嫌疑犯A、B、C、D进行了审问。四人分别供述如下:

    A:“罪犯在B、C、D三人之中。”

    B:“我没有作案,是C偷的。”

    C:“在A和D中间有一个是罪犯。”

    D:“B说的是事实”

    经过充分的调查,证实四人中只有两人说了真话,并且罪犯只有一个。请确定真正的罪犯。

#include <stdio.h>

void main()
{
    int killer;
    int flags = 0;
    for(killer='A'; killer<='D'; killer++)
    {
        flags = (killer != 'A'); 
        flags += (killer == 'C');
        flags += (killer == 'A' || killer == 'D');
        flags += (killer == 'C');
        if(flags == 2)
        {
            printf("killer is: %c\n", killer);
        }
    }
} 

输出:killer is: D

其实也就是穷举所有情况,判断是否满足条件,包含一点点的建模,重点是要有这种编程思想!

 

posted on 2017-08-21 23:15  Hello-World3  阅读(667)  评论(0编辑  收藏  举报

导航