Det4x4/nazarenko.ts
Det4x4/otstavnov
t1def permuts(row):t1def permuts(row):
2    if len(row) == 1:2    if len(row) == 1:
3        return [row]3        return [row]
4    permutsList = []4    permutsList = []
5    for i in range(len(row)):5    for i in range(len(row)):
6        row1 = row.copy()6        row1 = row.copy()
7        row1.remove(row[i])7        row1.remove(row[i])
8        k = permuts(row1)8        k = permuts(row1)
9        for j in range(len(k)):9        for j in range(len(k)):
10            t = [row[i]]10            t = [row[i]]
11            t += k[j]11            t += k[j]
12            permutsList.append(t)12            permutsList.append(t)
13    return permutsList13    return permutsList
1414
15def inversions(l):15def inversions(l):
16    ans = 016    ans = 0
17    for i in range(len(l)):17    for i in range(len(l)):
18        for j in range(i + 1, len(l)):18        for j in range(i + 1, len(l)):
19            if l[i] > l[j]:19            if l[i] > l[j]:
20                ans += 120                ans += 1
21    return ans21    return ans
2222
23def Det4x4(matrix):23def Det4x4(matrix):
24    ans = 024    ans = 0
25    l = []25    l = []
26    inv = []26    inv = []
27    row = [x for x in range(len(matrix))]27    row = [x for x in range(len(matrix))]
28    l = permuts(row)28    l = permuts(row)
29    for i in range(len(l)):29    for i in range(len(l)):
30        k = inversions(l[i])30        k = inversions(l[i])
31        if k % 2:31        if k % 2:
32            inv.append(-1)32            inv.append(-1)
33        else:33        else:
34            inv.append(1)34            inv.append(1)
35    for i in range(len(l)):35    for i in range(len(l)):
36        k = 136        k = 1
37        for row in range(len(matrix)):37        for row in range(len(matrix)):
38            k *= matrix[row][l[i][row]]38            k *= matrix[row][l[i][row]]
39        ans += inv[i] * k39        ans += inv[i] * k
40    return ans40    return ans
41matrix = eval(input())41matrix = eval(input())
42print(Det4x4(matrix))42print(Det4x4(matrix))
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op