На вход подаются списки несравнимых элементов. В каждом списке задаётся положение одного элемента относительно другого. На выходе нужен отсортированный список всех элементов, вроде такого:
# Для наглядности пусть будет алфовит
< [a c e]
< [d e f]
< [a b d]
< [b c d]
> [a b c d e f]
При возникновении противоречия пусть используется более раннее правило.
Как называется эта задача, но главное - как решается? Есть некоторые мысли, но это надо вести зависимые и независимые списки (как если бы подавалось в порядке
[a b],[c d]
, и гадай кто спереди кто сзади) или для каждого элемента заводить список каких элементов он больше или меньше - но кажется я переусложняю и, как обычно, можно проще. При необходимости поправлю формулировки.
Спасибо