黑马程序员技术交流社区

标题: 软件设计大赛之逻辑推理与判断 [打印本页]

作者: 静心明德    时间: 2015-4-15 21:23
标题: 软件设计大赛之逻辑推理与判断
刚刚参加了全国软件设计大赛,手里有好多资料,再次先将逻辑推理与判断的一些很有趣的练习题目,现在把它分享在这里,供有兴趣的学习者参考。

1.  三对情侣参加婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。这人听后知道他们在开玩笑,全是假话。请编程找出谁将和谁结婚。

2.  某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
1)A和B两人中至少去一人;
2)A和D不能一起去;
3)A、E和F三人中要派两人去;
4)B和C都去或都不去;
5)C和D两人中去一个;
6)若D不去,则E也不去。
问应当让哪几个人去?

3.  张三说李四在说谎,李四说王五在说谎,王五说张三和李四都在说谎。现在问:这三人中到底谁说的是真话,谁说的是假话?

4.  公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的。在回答公安人员的问题中:
甲说:“乙没有偷,是丁偷的。”
乙说:“我没有偷,是丙偷的。”
丙说:“甲没有偷,是乙偷的。”
丁说:“我没有偷。”
请根据这四人的答话判断谁是盗窃者。

5.  有A、B、C、D、E五人,每人额头上都贴了一张黑或白的纸。五人对坐,每人都可以看到其它人额头上的纸的颜色。五人相互观察后,
A说:“我看见有三人额头上贴的是白纸,一人额头上贴的是黑纸。”
B说:“我看见其它四人额头上贴的都是黑纸。”
C说:“我看见一人额头上贴的是白纸,其它三人额头上贴的是黑纸。”
D说:“我看见四人额头上贴的都是白纸。”
E什么也没说。
现在已知额头上贴黑纸的人说的都是谎话,额头贴白纸的人说的都是实话。问这五人谁的额头是贴白纸,谁的额头是贴黑纸?

6.  诚实族和说谎族是来自两个荒岛的不同民族,诚实族的人永远说真话,而说谎族的人永远说假话。谜语语博士是个聪明的人,他要来判断所遇到的人是来自哪个民族的。
谜语博士遇到三个人,知道他们可能是来自诚实族或说谎族的。为了调查这三个人是什么族的,博士分别问了他们的问题,这是他们的对话:
问第一个人:“你们是什么族?”,答:“我们之中有两个来自诚实族。”第二个人说:“不要胡说,我们三个人中只有一个是诚实族的。”第三个人听了第二个人的话后说:“对,就是只有一个诚实族的。”
请根据他的回答判断他们分别是哪个族的。

7.  两面族是荒岛上的一个新民族,他们的特点是说话真一句假一句且真假交替。如果第一句为真,则第二句是假的;如果第一句为假的,则第二句就是真的,但是第一句是真是假没有规律。
谜语博士遇到三个人,知道他们分别来自三个不同的民族:诚实族、说谎族和两面族。三人并肩站在博士前面。
博士问左边的人:“中间的人是什么族的?”,左边的人回答:“诚实族的”。
博士问中间的人:“你是什么族的?”,中间的人回答:“两面族的”。
博士问右边的人:“中间的人究竟是什么族的?”,右边的人回答:“说谎族的”。
请问:这三个人都是哪个民族的?

8.  医院有A、B、C、D、E、F、G七位大夫,在一个星期内(星期一至星期天)每人要轮流值班一天。现在已知:
A大夫比C大夫晚一天值班;
D大夫比E大夫晚二天值班;
B大夫比G大夫早三天值班;
F大夫的值班日在B和C大夫的中间,且是星期四;
请确定每天究竟是哪位大夫值班?

9.  在一个旅馆中住着六个不同国籍的人,他们分别来自美国、德国、英国、法国、俄罗斯和意大利。他们的名字叫A、B、C、D、E和F。名字的顺序与上面的国籍不一定是相互对应的。现在已知:
①A和美国人是医生。
②E和俄罗斯人是教师。
③C和德国人是技师。
④B和F曾经当过兵,而德国人从未参过军。
⑤法国人比A年龄大;意大利人比C年龄大。
⑥B同美国人下周要去西安旅行,而C同法国人下周要去杭州度假。
试问由上述已知条件,A、B、C、D、E和F各是哪国人?

10.  张王李三家各有三个小孩。一天,三家的九个孩子在一起比赛短跑,规定不分年龄大小,跑第一得9分,跑第2得8分,依此类推。比赛结果各家的总分相同,且这些孩子没有同时到达终点的,也没有一家的两个或三个孩子获得相连的名次。已知获第一名的是李家的孩子,获得第二的是王家的孩子。问获得最后一名的是谁家的孩子?


作者: IT杰    时间: 2015-4-15 21:48
貌似。我一个也不会!,有点悲催啊
作者: 缤纷落叶    时间: 2015-4-15 21:50
好复杂的逻辑啊......
作者: 静心明德    时间: 2015-4-15 21:52
缤纷落叶 发表于 2015-4-15 21:50
好复杂的逻辑啊......

不是复杂,而是有意思
作者: fantacyleo    时间: 2015-4-15 23:32
目测都是同一模式的题目。因为问题的规模都不大,我的思路是穷举:
1. 将所有可能的结果进行穷举。这几题的穷举基本上是简单的排列组合,用深度优先搜索或直接硬编码都可以实现。
2. 遍历这些穷举,判断是否满足条件,满足即可输出

作者: kolyneh    时间: 2015-4-16 00:43
恩恩,多谢分享,mark





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2