TSC999 发表于 2023-8-20 09:34:18

2# 楼有错误的程序改成下面这样子就行了。这是直来直去的穷举法,思路很笨,但容易理解和套用到解决类似排列组合问题上。

a = Permutations[{1, 2, 3, 4, 5, 6, 7, 8}];
b = {};
Do] != 1 && a[] != 1 && a[] != 3 &&a[] != 3 && a[] != 4 && a[] != 4,
   If[{a[], a[]} != {1, 2} && {a[], a[]} != {2, 1} && {a[], a[]} != {3, 4} && {a[], a[]} != {4, 3} && {a[], a[]} != {3, 4} && {a[], a[]} != {4, 3} && {a[], a[]} != {3, 4} && {a[],
       a[]} != {4, 3},
    If[{a[], a[]} == {2, 1} || {a[], a[]} == {1, 2} || {a[], a[]} == {1, 2} || {a[], a[]} == {2, 1} || {a[], a[]} == {1, 2} || {a[], a[]} == {2, 1} || {a[], a[]} == {1, 2} || {a[],
      a[]} == {2, 1},
   b = b~Join~{a[]}]]], {k, 8!}];
Length(* 座位分配方案数 *)
b; (* 所有方案的具体展示 *)
页: 1 [2]
查看完整版本: 八个人坐成一排,满足条件的坐法有多少种? 编程求解。