|
「数学」小旅行 |
|
私もやってみました。以下のようなプログラムを作っていただきました。
すごいですねぇ。 from itertools import permutations people = ['トモエ', 'マサル', 'マサヒコ', 'マリコ', 'ツヨシ'] forbidden_pairs = [('トモエ', 'マサル'), ('トモエ', 'マサヒコ'), ('マリコ', 'ツヨシ')] count = 0 for perm in permutations(people): valid = True for pair in forbidden_pairs: if pair[0] in perm and pair[1] in perm: idx1 = perm.index(pair[0]) idx2 = perm.index(pair[1]) if abs(idx1 - idx2) == 1: valid = False break if valid: count += 1 print("条件を満たす5人の並び方の場合の数:", count) |
|
6月29日(木) 17:29:59
52575 |