码迷,mamicode.com
首页 > 其他好文 > 详细

谁是罪犯问题

时间:2017-08-22 00:14:38      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:flags   bsp   class   穷举   std   编程思想   有一个   span   kill   

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

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

 

谁是罪犯问题

标签:flags   bsp   class   穷举   std   编程思想   有一个   span   kill   

原文地址:http://www.cnblogs.com/hellokitty2/p/7407263.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!