超人迪加粤语3:问一道PASCAL题目

来源:百度文库 编辑:中科新闻网 时间:2024/05/06 06:55:22
选人。一个小组共五人,分别为A、B、C、D、E。现有一项任务,要他们中的3个人去完成。已知:(1)A、C不能都去;(2)B、C不能都不去;(3)如果C去了,D、E就只能去一个,且必须去一个;(4)B、C、D不能都去;(5)如果B去了,D、E就不能都去。编程找出此项任务该由哪三人去完成的所有组合。

var a:array[1..6]of integer;
i:integer;
fin:boolean;
begin
for a[1]:=0 to 1 do
for a[2]:=0 to 1 do
for a[3]:=0 to 1 do
for a[4]:=0 to 1 do
for a[5]:=0 to 1 do
begin
a[6]:=0;
fin:=true;
for i:=1 to 5 do a[6]:=a[6]+a[i];
if a[6]<>3 then fin:=false;
if (a[1]+a[3]=2)or(a[2]+a[3]=0) then fin:=false;
if (a[3]=1)and(a[4]+a[5]<>1) then fin:=false;
if a[2]+a[3]+a[4]=3 then fin:=false;
if (a[2]=1)and(a[4]+a[5]=2) then fin:=false;
if fin then
begin
for i:=1 to 5 do
if a[i]=1 then write(chr(ord('A')+i-1));
writeln;
end;
end;
end.
附:
最终结果有3个:1.BCE 2.ABE 3.ABD

BCE、ABD或ABE