Вот эти 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 чисел, наверное, очень долго работать будет
Слишком много перестановок. Может быть, тут какая-то хорошая есть закономерность, или хорошая оптимизирующая тупой перебор идея.
Помогите, пожалуйста

square
Свой человек
 
Offline
Сообщений: 333
СПАСИБО
-вы поблагодарили: 22
-вас поблагодарили: 14
|
 |
� Ответ #15 : Июнь 09, 2012, 19:14:43 � |
|
Увы! Перестановки для чисел 1,2,3,4,5,6 не уникальные. Начала строить квадрат 36х36 и он не получился. Тогда внимательно посмотрела перестановки. Пара (2,4) повторяется: 1 2 3 4 5 6 3 2 6 4 1 5 Существуют ли они вообще для этих чисел? Вот в чём вопрос 
|
|
|
Записан
|
|
|
|
zhekas
Гений-Говорун
Offline
Сообщений: 1035
СПАСИБО
-вы поблагодарили: 34
-вас поблагодарили: 487
|
 |
� Ответ #16 : Июнь 09, 2012, 21:14:41 � |
|
да, я немного не правильно понял задачу, Я думал только рядомстоящие числа сравнивать.
Кстати, для n=6 простой перебор показывает, что нет такой комбинации. Так что, вполне возможно, что между "уникальными" комбинациями и латинскими квадратами есть однозначная взаимосвязь
|
|
� Последнее редактирование: Июнь 09, 2012, 21:17:55 от zhekas �
|
Записан
|
|
|
|
square
Свой человек
 
Offline
Сообщений: 333
СПАСИБО
-вы поблагодарили: 22
-вас поблагодарили: 14
|
 |
� Ответ #17 : Июнь 09, 2012, 21:33:06 � |
|
Эх, значит, всё-таки не существует. Жаль! Впрочем, ожидаемый результат.
А что если попробовать разрешить повторение чисел в перестановках? То есть это уже не перестановки будут в обычном понимании, а просто некоторые комбинации из 6 чисел. Но требование к повторениям в одинаковых позициях остаётся то же самое.
Тут уже, может быть, надо сочинять не 30, а 36 комбинаций. Скорее всего. Но можно попробовать сначала 30 сочинить.
Попробуйте, пожалуйста такой вариант.
|
|
� Последнее редактирование: Июнь 09, 2012, 21:41:25 от square �
|
Записан
|
|
|
|
zhekas
Гений-Говорун
Offline
Сообщений: 1035
СПАСИБО
-вы поблагодарили: 34
-вас поблагодарили: 487
|
 |
� Ответ #18 : Июнь 09, 2012, 21:59:19 � |
|
Для 30 например так Показать скрытый текст 1 2 3 4 5 6 1 3 1 1 1 1 1 4 2 2 2 2 1 5 4 3 3 3 1 6 5 5 4 4 2 1 1 2 3 4 2 3 2 3 4 5 2 4 3 5 6 1 2 5 5 6 5 2 2 6 6 4 1 3 3 1 2 5 5 3 3 2 4 6 1 4 3 4 5 4 3 5 3 5 6 1 2 6 3 6 1 3 6 2 4 1 5 3 1 6 4 2 6 2 4 1 4 3 3 6 2 3 4 5 2 4 6 4 4 6 4 1 5 5 5 1 3 1 4 2 5 2 1 5 2 5 5 3 4 2 6 6 5 4 6 3 5 4 5 6 2 6 3 1 6 1 4 4 2 1 6 2 5 1 6 3 6 3 6 5 3 2 6 4 1 6 4 6 6 5 3 2 1 5
|
|
|
Записан
|
|
|
|
square
Свой человек
 
Offline
Сообщений: 333
СПАСИБО
-вы поблагодарили: 22
-вас поблагодарили: 14
|
 |
� Ответ #19 : Июнь 09, 2012, 22:12:13 � |
|
Неповторяемость гарантирована? Тогда надо ещё 6 штук, из 30 у меня квадрат 36х36 не построится. В случае 30 перестановок я добавляла ещё такие комбинации: 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 В данном случае с повторением чисел в строках эти комбинации добавлять уже нельзя, нарушится условие непересекаемости комбинаций. Может, добавятся ещё 6 штучек комбинаций?  Я просмотрела 30 штук комбинаций, вроде нет пересечений (визуально не замечено), всё отлично пока.
|
|
� Последнее редактирование: Июнь 09, 2012, 22:49:14 от square �
|
Записан
|
|
|
|
square
Свой человек
 
Offline
Сообщений: 333
СПАСИБО
-вы поблагодарили: 22
-вас поблагодарили: 14
|
 |
� Ответ #20 : Июнь 10, 2012, 06:45:51 � |
|
Zhekasя написала программку для добавления к вашему замечательному набору комбинаций 31-ой комбинации. Вот такая у меня получилась комбинация по программе: Вроде правильно. Да? Очень медленно я двигаюсь. Сейчас буду писать программку для добавления следующей комбинации. По-хорошему, это должна быть одна программа, но у меня не получается, в циклах запуталась. Поэтому пишу вот так примитивно, по одному шагу. Буду благодарна, если вы поможете найти оставшиеся 5 комбинаций. Пока я пишу свои примитивные программки, вы можете за одну минуту найти эти комбинации по своей программе. Думаю, что все 36 комбинаций можно найти. А мне ещё надо такую же задачу решить для n = 10, 12, 14, 15, 18, 20, 21. За 30 комбинаций спасибо большое. Всё же мне не с нуля пришлось начинать поиск.
|
|
|
Записан
|
|
|
|
square
Свой человек
 
Offline
Сообщений: 333
СПАСИБО
-вы поблагодарили: 22
-вас поблагодарили: 14
|
 |
� Ответ #21 : Июнь 10, 2012, 07:20:45 � |
|
Эх! Приехали!  32-ая комбинация у меня не формируется, программа выдаёт только два числа в этой комбинации, третье число добавить уже невозможно. Значит, надо изменять первые 30 комбинаций, они найдены не совсем удачно, к ним можно добавить только одну комбинацию. Если я не ошибаюсь в программе. Zhekasпомогите, пожалуйста.
|
|
|
Записан
|
|
|
|
zhekas
Гений-Говорун
Offline
Сообщений: 1035
СПАСИБО
-вы поблагодарили: 34
-вас поблагодарили: 487
|
 |
� Ответ #22 : Июнь 10, 2012, 09:06:34 � |
|
со вчера я запустил программу на поиск 36, Пока выолняется.
|
|
|
Записан
|
|
|
|
square
Свой человек
 
Offline
Сообщений: 333
СПАСИБО
-вы поблагодарили: 22
-вас поблагодарили: 14
|
 |
� Ответ #23 : Июнь 10, 2012, 09:10:55 � |
|
А-а-а... Отлично! Очень интересно, сколько максимально будет таких комбинаций в комплекте.
Хотелось бы, чтобы было 36, но если вдруг меньше получится (от 32 до 35), мне и это сгодится. Вы, пожалуйста, сохраните как-нибудь самый большой комплект, чтобы он не был потерян.
|
|
|
Записан
|
|
|
|
zhekas
Гений-Говорун
Offline
Сообщений: 1035
СПАСИБО
-вы поблагодарили: 34
-вас поблагодарили: 487
|
 |
� Ответ #24 : Июнь 10, 2012, 10:05:14 � |
|
Она не ищет максимум. Она ищет либо 36 либо её отсутствие Предлагаю вам запустить мою программу у себя. В ней у каждого набора уже записаны первые 2 числа и поиск начинается с третьего. Чтобы можно было искать несколько вариантов сразу я сделал 3 число первой строки аргументом программы. Для лучшего отслеживания хода программы, на вывод подаются изменения первой строки.
Запускать в cmd: programa.exe 6 (или 5,4,3,2,1)
У меня идёт с начала. Так что вы начинайте с конца
отправил по почте
|
|
� Последнее редактирование: Июнь 10, 2012, 10:09:03 от zhekas �
|
Записан
|
|
|
|
square
Свой человек
 
Offline
Сообщений: 333
СПАСИБО
-вы поблагодарили: 22
-вас поблагодарили: 14
|
 |
� Ответ #25 : Июнь 10, 2012, 10:13:37 � |
|
Идея хорошая.
Но надо сначала точно определиться, что искать. Мы выяснили, что набор из 31 комбинации точно существует. Есть подозрение, что из 32 комбинаций набора уже нет. Поэтому предлагаю сначала сделать программу так, чтобы она искала набор из 32 комбинаций. Это будет быстрее, чем для 36 комбинаций. К тому же, если программа не найдёт набор из 32 комбинаций, дальше и искать нечего.
Я готова запустить программу у себя. Но сделайте её, пожалуйста, на поиск 32 комбинаций.
|
|
|
Записан
|
|
|
|
square
Свой человек
 
Offline
Сообщений: 333
СПАСИБО
-вы поблагодарили: 22
-вас поблагодарили: 14
|
 |
� Ответ #26 : Июнь 10, 2012, 10:16:23 � |
|
Программа пришла. Я могу попробовать, как она будет работать у меня. Так что мне задать в качестве параметра? 6?
|
|
|
Записан
|
|
|
|
square
Свой человек
 
Offline
Сообщений: 333
СПАСИБО
-вы поблагодарили: 22
-вас поблагодарили: 14
|
 |
� Ответ #27 : Июнь 10, 2012, 10:34:52 � |
|
У вас программа-то какая? Она у меня не запускается. Выдаётся сообщение, что она не является exe-программой. И не выглядит она у меня, как Приложение (exe-программа).
|
|
|
Записан
|
|
|
|
zhekas
Гений-Говорун
Offline
Сообщений: 1035
СПАСИБО
-вы поблагодарили: 34
-вас поблагодарили: 487
|
 |
� Ответ #28 : Июнь 10, 2012, 12:54:17 � |
|
Попробуйте следующую программу. Она ещё выводит максимум строк на текущий момент отослал по почте
|
|
� Последнее редактирование: Июнь 10, 2012, 12:56:43 от zhekas �
|
Записан
|
|
|
|
square
Свой человек
 
Offline
Сообщений: 333
СПАСИБО
-вы поблагодарили: 22
-вас поблагодарили: 14
|
 |
� Ответ #29 : Июнь 10, 2012, 13:11:21 � |
|
Программу получила и попробовала. Спасибо.
Первые 30 комбинаций она находит мгновенно, а потом надолго задумывается. Даже с 31-ой комбинацией сложности.
А у вас хоть раз находила 31 комбинацию? А 32?
Я ввела параметр 6. Первые два числа 1,1. То есть у меня программа начинает с комбинации 1,1,6,1,1 и пошла искать дальше.
Как я понимаю, программа к найденным 30 комбинациям ищет добавление.
Вот не ожидала, что тут такой упёртый будет перебор.
|
|
|
Записан
|
|
|
|
|