pascal问题~警察抓a,b,c,d四名嫌疑犯,其中有一人是小.四人中三人说的是真话,一人说的是假话。编程找出他

1警察局抓了a,b,c,d四名偷窃嫌疑犯,其中有一人是小偷。审问中:
a说:“我不是小偷”。
b说:“c是小偷”。
c说:“小偷肯定是d”。
d说:“c冤枉人”。
现在已经知道四人中三人说的是真话,一人说的是假话。问到底谁是小偷?试编程找出小偷。
2有A、B、C、D、E五本书,要分给张、王、刘、赵、钱五位同学,每人只能选一本,事先让每人把自己喜爱的书填于下表,编程找出让每人都满意的方案。
A B C D E
张 √ √
王 √ √ √
刘 √ √
赵 √ √ √
钱 √ √

第1个回答  2006-12-22
1、可以分别假设A、B、C、D说的是假话,
然后检查是否存在矛盾,排除产生矛盾的假设,
剩下的就是答案。

2、这是二部图的问题,可以建立人与书之间关系二部图,
然后求完美匹配,如果存在完美匹配,
则该匹配就是满足条件的方案。

祝你好运!本回答被网友采纳
第2个回答  2006-12-22
1.c说了假话,C是贼,
2.张A 王E 刘D 赵B 钱C
GOOD LUCK

pascal问题~警察抓a,b,c,d四名嫌疑犯,其中有一人是小.四人中三人说的是...
1、可以分别假设A、B、C、D说的是假话,然后检查是否存在矛盾,排除产生矛盾的假设,剩下的就是答案。2、这是二部图的问题,可以建立人与书之间关系二部图,然后求完美匹配,如果存在完美匹配,则该匹配就是满足条件的方案。祝你好运!

!pascal问题~警察抓a,b,c,d嫌疑犯,其中有一人是小.四人中三人说的是...
枚举每一种搭配,求出是否符合条件...

...警察局抓了A 、B、C、D四名偷窃嫌疑犯,其中有一个是小偷。审问A说...
如果D说的是真话 那么B说的是假话 就不是D C说的是假话 那么是C偷的 所以A说的也是假话

pascal语言:派出所知道A,B,C,D四个盗窃嫌疑犯,其中有一个人是小偷.
如果B说了假话,则C是小偷,那么C的话不成立,同上。如果C说了假话,则小偷不是D,另三个人说的是真话,小偷也不是A、C,只能是B。如果D说了假话,则C没有冤枉人,小偷是D,另两个人的说话也成立。

一道关于循环的PASCAL问题
d:=d+1;\/\/甲:我没干坏事.满足为真话 if i=3 then d:=d+1;\/\/乙:丙干了坏事,满足为真话 if i=4 then d:=d+1;\/\/丙:丁干了坏事,满足为真话 if i<>4 then d:=d+1;\/\/丁:丙冤枉人! ,满足为真话 if d=3 then\/\/真话总共为3句 begin write(i);\/\/输出罪犯的编号 end;end;e...

请教FREE PASCAL
假设A是小偷,那么A说谎,B也说谎,跟题目一人说假话不符,所以A不是小偷,A说的也是真话;再假设B是小偷:则B说谎,C不是小偷,C说小偷是D也是谎话,跟题目也不符,所以B也不是小偷。此时有两种1:B未说谎,则C是小偷,那么C说D是小偷是说谎,D说C冤枉人是真话,与题目正好相符合;2:B说谎...

pascal问题:谁是小偷?(具体要求:↓)
var t:char;begin

取序函数ord怎么用(急)~
ord(false)=0 ord(true)=1 明白了吧 x<>'a'对应a说:我不是小偷 x='c'对应b说:c是小偷 x='d'对应c说:小偷肯定是d.x<>'c'对应d说:c冤枉人!其中true的个数=3时即三人说的是真话,一人说的假话。

请写出这三个简单的PASCAL程序
program t1;var s,n:integer;begin s:=0;n:=0;repeat n:=n+2;s:=s+n;until s>=1500;writeln(n-2);end.program t2;假设只有小偷撒谎,好人都是诚实的,那么C就是小偷,如果没有这个滑稽的前提,无法确定小偷,什么语言都写不出程序。

用pascal编程
我用了不少时间做这么多题 多给点分吧~、(附加题)输入一串字符,以“?”结束输出其中小写字母个数与数字个数。program ex;var ch:char;t,t1:integer;begin t:=0;t1:=0;read(ch);while ch<>'?' do begin if (ord(ch)>=97)and(ord(ch)<=122) then t:=t+1;if (ord(ch)>=48...

相似回答