本帖最后由 TSC999 于 2023-8-20 06:32 编辑 下面的程序是按穷举法写的笨程序:
- a = Permutations[{1, 2, 3, 4, 5, 6, 7, 8}];
- b = {};
- Do[If[a[[k, 1]] != 1 && a[[k, 8]] != 1 && a[[k, 1]] != 3 && a[[k, 8]] != 3 && a[[k, 1]] != 4 && a[[k, 8]] != 4,
- If[{a[[k, 2]], a[[k, 3]]} != {1, 2} && {a[[k, 2]], a[[k, 3]]} != {2, 1} && {a[[k, 3]], a[[k, 4]]} != {3, 4} && {a[[k, 3]], a[[k, 4]]} != {4, 3} && {a[[k, 4]], a[[k, 5]]} != {3, 4} && {a[[k, 4]],
- a[[k, 5]]} != {4, 3} && {a[[k, 5]], a[[k, 6]]} != {3, 4} && {a[[k, 5]], a[[k, 6]]} != {4, 3},
- If[{a[[k, 1]], a[[k, 2]]} == {2, 1} || {a[[k, 7]], a[[k, 8]]} == {1, 2} || {a[[k, 3]], a[[k, 4]]} == {1, 2} || {a[[k, 3]], a[[k, 4]]} == {2, 1} || {a[[k, 4]], a[[k, 5]]} == {1, 2} || {a[[k, 4]], a[[k, 5]]} == {2, 1} || {a[[k, 5]], a[[k, 6]]} == {1, 2} || {a[[k, 5]], a[[k, 6]]} == {2, 1},
- b = b~Join~{a[[k]]}]]], {k, 8!}];
- Length[b](* 座位分配方案数 *)
- b (* 所有方案的具体展示 *)
复制代码 |