Задачка вроде простая, но я что-то застряла
Вот эти 12 перестановок из чисел 1,2,3,4 назовём
уникальными в таком смысле: ни в каких двух перестановках в одинаковых позициях нет одинаковой пары чисел:
Код:
1 2 3 4
1 3 4 2
1 4 2 3
2 1 4 3
2 3 1 4
2 4 3 1
3 1 2 4
3 2 4 1
3 4 1 2
4 1 3 2
4 2 1 3
4 3 2 1
Например, в первой перестановке в первой и второй позиции имеем пару чисел 1,2; больше ни в какой престановке в этих позициях нет такой пары чисел.
Задача такая: составить 56 уникальных перестановок из чисел 1,2,3,4,5,6,7,8 (ещё 72 перестановки из чисел 1,2,3,...,9 и 240 перестановок из чисел 1,2,3,...,16).
Вот начала писать перестановки из чисел 1,2,...,8. Первые семь штук:
Код:
1,2,3,4,5,6,7,8
1,3,4,5,6,7,8,2
1,4,5,6,7,8,2,3
1,5,6,7,8,2,3,4
1,6,7,8,2,3,4,5
1,7,8,2,3,4,5,6
1,8,2,3,4,5,6,7
Дальше не знаю, как писать.
По-хорошему, конечно, надо программку написать. Но для 16 чисел, наверное, очень долго работать будет :(
Слишком много перестановок. Может быть, тут какая-то хорошая есть закономерность, или хорошая оптимизирующая тупой перебор идея.
Смотрю на перестановки из чисел 1,2,3,4. Имеются ровно 4 группы перестановок, первая группа начинается с числа 1, вторая - с числа 2 и т.д., в каждой группе 3 перестановки.
Думаю, что для перестановок из чисел 1,2,3,..., 8 будет полная аналогия: 8 групп перестановок, в каждой группе 7 штук, первая группа - перестановки, начинающиеся с числа 1 (эту группу я уже написала), вторая группа - перестановки, начинающиеся с числа 2, и т.д.
Интересый вопрос: таких перестановок из чисел 1,2,3,...8 будет ровно 56?
Написала программку для второй группы перестановок, но со скрипом, что-то никак не могу справиться с проверкой всех пар чисел во всех перестановках, в циклах запуталась. Поэтому программу написала только для одной группы, это проще.
Предположительно вторая группа перестановок может быть такая:
Код:
2,1,8,7,6,5,4,3
2,3,1,8,7,6,5,4
2,4,3,1,8,7,6,5
2,5,4,3,1,8,7,6
2,6,5,4,3,1,8,7
2,7,6,5,4,3,1,8
2,8,7,6,5,4,3,1
Вроде всё правильно в этой группе, пересечений нет ни внутри группы, ни с перестановками первой группы.
Кто видит здесь закономерности? Чтобы написать следующие группы перестановок без программы.
Или же по программе кто может помочь найти все перестановки.
Надо ещё, как уже сказала, найти полный комплект уникальных перестановок для n=9 и для n=16.