Мне даны N чисел, и для них применяются правила M относительно их порядка. Правила представлены в парах индексов, и каждая пара (A, B) сообщает, что число с индексом A (A-th число) должно быть ПОСЛЕ 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.
Я пробовал работать, но это не сработало (хотя здесь должен работать bruteforce, N находится в диапазоне (1,8).)
Любые идеи?