Мне дано N номеров, и для них применяются М правил, касающихся их порядка.Правила представлены в парах индексов, и каждая пара (A, B) говорит, что число с индексом A (A-ое число) должно быть ПОСЛЕ B-го числа - оно не должно быть рядом с ним.
Ex: N = 4
1 2 3 4
M = 2
3 2
3 1
Output: 1234, 4213, 4123, 2134, 2143, 2413, 1423 ...Maybe there are even more:)
Алгоритм должен дать мне все доступные перестановки, которые не нарушают правила, как в примере - 3 всегда должно быть после 2 и после 1.
Я пыталсябрутфорс, но это не сработало (хотя брутфорс должен работать здесь, N находится в диапазоне (1,8).)
Есть идеи?