下のコードで回答されている方がいて、
13行目
a += l.index(P[i]) * fac[len(l) - 1]
この処理が理解できず困っています。
ここではどのような処理が行われているのでしょうか?
ご教示よろしくお願いいたします。
python
1N = int(input()) 2P = list(map(int, input().split())) 3Q = list(map(int, input().split())) 4 5fac = [0] * 8 6fac[1] = 1 7for i in range(2, N): 8 fac[i] = i * fac[i - 1] 9 10a = 0 11l = list(range(1, N + 1)) 12for i in range(N): 13 a += l.index(P[i]) * fac[len(l) - 1] 14 l.remove(P[i]) 15 16b = 0 17l = list(range(1, N + 1)) 18for i in range(N): 19 b += l.index(Q[i]) * fac[len(l) - 1] 20 l.remove(Q[i]) 21 22print(abs(a - b))
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/06 07:12