問題
<p>
int型配列が与えられる。 2個の数値の位置を入れ替える場合、得られるユニークな数列が何通りあるか.
</p>
方針
全通り swapしてみて、ユニークな数列の数を数える.
回答
[sourcecode language="python" title="" ] class TheSwapsDivTwo: def find(self, sequence): s = set() n = len(sequence)
<p>
for i in range(n - 1): for j in range(i + 1, n): l = list(sequence) l[i], l[j] = l[j], l[i] s.add(tuple(l))
</p>
<p>
return len(s) [/sourcecode]
</p>