标签: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