首先 H、I 的瓜葛少,自由些,先不管它们。
根据五条排列要求,可以排出 A~G 只有两种可能的排列:
G A B C D E F
G A B D C E F
然后再将 H、I 放进去,因 I 要在 C 前,H 在要 D 后,所以:
对于第一种排列,I 有 4 个位,H 有 3 个位;
对于第二种排列,I 有 5 个位,H 有 4 个位;
所以结果就是 4*3+5*4=32?不,还有一点容易漏掉。
注意第二种排列中 H、I 都可以放在 D C 之间,有 D H I C 和 D I H C 两种情况,因此需要再 +1。
所以结果是 33。
var
a,b,c,d,e,f,g,h,i,k:longint;
begin
k:=0;
for a:=3 to 9 do
for b:=3 to 9 do
for c:=1 to 9 do
for d:=1 to 9 do
for e:=1 to 9 do
for f:=1 to 9 do
for g:=4 to 9 do
for h:=1 to 9 do
for i:=3 to 9 do
if (a>b)and(b>c)and(d>e)and(e>f)and(g>a)and(a>c)and(b>d)and(d>h)and(i>c)and(c>e) then k:=k+1;
writeln(k);
end.
var
a,b,c,d,e,f,g,h,i,m:longint;
begin
m:=0;
for a:=1 to 9 do
for b:=1 to 9 do
for c:=1 to 9 do
for d:=1 to 9 do
for e:=1 to 9 do
for f:=1 to 9 do
for g:=1 to 9 do
for h:=1 to 9 do
for i:=1 to 9 do
begin
if (a-d)*(a-e)*(a-f)*(a-h)*(a-i)*(b-e)*(b-f)=0 then continue;
if (b-g)*(b-i)*(c-d)*(c-f)*(c-h)*(d-g)*(d-i)*(e-g)=0 then continue;
if (e-h)*(e-i)*(f-g)*(f-h)*(f-i)*(g-h)*(g-i)*(h-i)=0 then continue;
if (a>b)and(b>c)and(d>e)and(e>f)and(g>a)and(a>c)and(b>d)and(d>h)and(i>c)and(c>e) then m:=m+1;
end;
writeln(m);
end.