| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 695 人关注过本帖
标题:编程找犯人
只看楼主 加入收藏
凌波
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-3-10
收藏
 问题点数:0 回复次数:4 
编程找犯人

有A B C D E F 五人,请根据下列条件,编程找出作案人员:
(1) A B 至少有一人作案;
(2) A E F 三人中至少有2人参与作案;
(3) A D不可能是同案犯;
(4) B C 或同时作案或与本案无关;
(5) C D 中有且仅有一人作案;
(6) 如果D没有参与作案,则E也不可能参与作案;
请各位大哥帮忙想一下,小弟我不胜感激啊!

搜索更多相关主题的帖子: 犯人 
2007-03-20 16:37
swc
Rank: 3Rank: 3
等 级:论坛游民
威 望:6
帖 子:394
专家分:83
注 册:2006-4-7
收藏
得分:0 
1、A B至少有一人作案,则最终确定的作案人员中不能没有A或B;
2、A E F三人中至少有2人参与作案,则最终确定的作案人员中必出现组合之一:AE、AF、EF、AEF;
3、A D不可能是同案犯,则最终确定的作案人员中不能出现AD组合;
4、B C或同时作案或与本案无关,则最终确定的作案人员中BC组合出现,或都不出现;
5、C D中有且仅有一人作案,则最终确定的作案人员中必出现C或D,但不能出现CD组合;
6、如果D没有参与作案,则E也不可能参与作案,则最终确定的作案人员中如果有E出现,但没D则排除。

要编程找出作案人员,我认为可用遍历排除法。
1,首先列举出所有的作案人员组合可能,有2^5个可能(包括只有一个人作案和两人作案的情况)
2,依次用上次6个条件判断每个作案人员组合可能,6个条件都符合时则为正确的作案人员组合。

实践、学习、再实践、再学习......
2007-03-20 17:37
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 

protected void Page_Load(object sender, EventArgs e) {
char[] men;
for (int count = 16; count < 64; count++) {
men = Convert.ToString(count, 2).PadLeft(6, '0').ToCharArray();
if (filter1(men[0], men[1])
&& filter2(men[0], men[4], men[5])
&& filter3(men[0], men[3])
&& filter4(men[1], men[2])
&& filter5(men[2], men[3])
&& filter6(men[3], men[4])) {
Response.Write(men, 0, 6);
Response.Write("<br/>");
}
}
}

//m n至少有一个为1 0,48 1,49
private bool filter1(char m, char n) {
return (m+n)>96;
}

//m n x至少有两个为1
private bool filter2(char m, char n, char x) {
return (m+n+x)>(3*48)+1;
}

//m n不可能同时为1
private bool filter3(char m, char n) {
return (m+n)!=(2*49);
}

//m与n相等
private bool filter4(char m, char n) {
return m == n;
}

//m n中有且只有一个等于1
private bool filter5(char m, char n) {
return (m+n)==(48+49);
}

//如果m为0 则E也为0
private bool filter6(char m, char n) {
return !(m==48&&n!=48);
}


(a,b,c,d,e,f)(0,0,0,0,0,0)为清白 1为罪犯
结果为111001
所以a b c f是罪犯


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2007-03-21 11:28
liuminghui
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:2882
专家分:0
注 册:2007-1-26
收藏
得分:0 
支持楼上的高手!

海鸽 is My Lover!!
2007-03-21 11:35
凌波
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-3-10
收藏
得分:0 
谢谢各位的回复.

2007-03-23 12:43
快速回复:编程找犯人
数据加载中...
 
   



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

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