for j in range(i + 1, N):
    if i in eqs[j][1]:
        eqs[j][0] ^= eqs[i][0]
eqs[j][1] ^= eqs[i][1]
for i in range(N - 1, -1, -1):
    for j in range(i):
        if i in eqs[j][1]:
            eqs[j][0] ^= eqs[i][0]
eqs[j][1] ^= eqs[i][1]
return [(i // m, i % m) for i, eq in enumerate(eqs) if eq[0]]
print(switches(4, 3, ([1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 0, 0])))
Головоломка с часами-молотами; Решение с помощью Python