Troca justa entre duas listas

Published by Evgeny SH in

Encontre todos os pares de troca entre duas listas de modo que as somas das listas após a troca sejam iguais. A entrada consiste em duas listas de inteiros, que não precisam ter o mesmo comprimento. A saída é um conjunto de tuplas {(num_from_l1, num_from_l2), ..}. Se nenhum par for encontrado, retorne um conjunto vazio.

Exemplos

fair_swap([1, 1], [2, 2]) ➞ {(1, 2)}

fair_swap([1, 2], [2, 3]) ➞ {(1, 2), (2, 3)}

fair_swap([2], [1, 3]) ➞ {(2, 3)}

fair_swap([2, 3, 4], [11, 4, 1]) ➞ set()

Notas

N/A