| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1446 人关注过本帖
标题:求解两道老掉牙的趣味题,找窃贼和判断谁参加了竞赛
只看楼主 加入收藏
雨夜听风
Rank: 2
等 级:论坛游民
帖 子:22
专家分:16
注 册:2012-6-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
求解两道老掉牙的趣味题,找窃贼和判断谁参加了竞赛
1. A B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛.
(1)A参加时,B也参加;
(2)B和C只有一个人参加;
(3)C和D或者都参加,或者都不参加;
(4)D和E中至少有一个人参加;
(5)如果E参加,那么A和D也都参加。
2.公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的。在回答公安人员的问题中:甲说“乙没有偷,是丁偷的”,  乙说“我没有偷,是丙偷的”,丙说“甲没有偷,是乙偷的”,丁说“我没有偷”。请根据这四人的答话判断谁是盗窃者。

答案我有,但分析了很久都不太懂。

哪位以前做过此题的高人分析下题吧,谢谢、
搜索更多相关主题的帖子: 嫌疑犯 
2012-12-17 21:29
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:3 
这题看到过。。。第一题楼主应该自己先试着写下程序 。。。用到判断语句就可以写出来
第二个可能难点

有心者,千方百计;无心者,千难万难。
2012-12-17 22:04
十葬
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2012-12-11
收藏
得分:3 
第一题 :假若E参加  则A和D都参加  由A参加得B参加      由B参加得C不参加     有由C不参加得D不参加   (逻辑错误)
假若e不参加   则d参加   由d得   c参加     由c参加得b不参加  由b不参加得a不参加
2012-12-17 23:33
十葬
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2012-12-11
收藏
得分:0 
第二题     假若丁为真   则甲为假       乙为假     丙为真       自己看看所有选项    以此 看其真假命题    得出只有乙偷了
2012-12-17 23:41
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:3 
1.
#include<stdio.h>
int main()
{
    int A,B,C,D,E;
    printf("1参加 0没参加\n");
    printf("A B C D E\n");
    for(A=0;A<2;A++)
        for(B=0;B<2;B++)
            for(C=0;C<2;C++)
                for(D=0;D<2;D++)
                    for(E=0;E<2;E++)
                        if(((A==1&&B==1)||(A==0&&B==0)) //A参加时,B也参加;
                        &&((B==0&&C==1)||(B==1&&C==0))  //B和C只有一个人参加;
                        &&((C==1&&D==1)||(C==0&&D==0))  //C和D或者都参加,或者都不参加;
                        &&(!(D==0&&E==0))               //D和E中至少有一个人参加;
                        &&((E==1&&A==1&&D==1)||(E==0))) //如果E参加,那么A和D也都参加。
                        printf("%d %d %d %d %d\n",A,B,C,D,E);
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 小小战士 于 2012-12-18 02:24 编辑 ]

小小战士,战士中的战斗机!
2012-12-18 02:19
无重量空气
Rank: 2
等 级:论坛游民
帖 子:36
专家分:36
注 册:2012-12-5
收藏
得分:3 
第二题好像有问题!原题是不是这样的啊!!!
2012-12-18 11:04
lupeifeng123
Rank: 2
等 级:论坛游民
帖 子:74
专家分:47
注 册:2012-12-13
收藏
得分:3 
第一题还可以试着写出来,第二题不会

一步一个脚印,贵在坚持。
2012-12-18 16:22
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3452
专家分:19340
注 册:2012-3-31
收藏
得分:3 
看看

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-12-18 16:55
maozhaoyuan
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-4-4
收藏
得分:0 
一般这种题的整体思路是穷举法,但是除了5楼的嵌套循环方法外,有没有更好的方法呢?因为这样的算法复杂度是指数级的(2的n次方)。
2014-04-04 14:31
快速回复:求解两道老掉牙的趣味题,找窃贼和判断谁参加了竞赛
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022665 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved