apatic писал(а):
Часто просто сижу и придумываю сам себе задачи.
Если я правильно поняла, вы ищете хорошие задачи, чтобы на этих задачах совершенствоваться в программировании. Так?
У меня есть несколько интересных задач. Одну из них можно найти в статье
“Новые аспекты метода латинских квадратов”.
Вторую задачу изложу здесь, так как в статью её ещё не успела поместить.
В Википедии, например, написано: если заполнено несколько строк латинского квадрата, то его можно дополнить (это написано как раз в статье “Латинский квадрат”). Вот только я не поняла, теоретически можно дополнить или практически. У меня есть начало латинского квадрата 14-го порядка, нашла в одной статье. Может быть (скорее всего), в этой статье рассказано, как надо дополнить этот квадрат, но я ни черта не понимаю во всех этих статьях на английском языке (так как языка не знаю). То, что приведённый фрагмент вполне может быть началом латинского квадрата, понятно без перевода. Вот эти первые 4 строки:
Код:
13 0 1 3 2 4 5 6 7 8 9 10 11 12
0 13 2 12 10 7 9 5 4 1 11 8 3 6
1 2 13 9 5 3 12 7 11 0 4 6 8 10
3 12 9 13 6 2 7 11 1 5 10 0 4 8
Задача такова: надо заполнить оставшиеся 10 строк квадрата теми же числами 0, 1, 2, … 13 так, чтобы ни в одном столбце квадрата не было одинаковых чисел. Так получится латинский квадрат 14-го порядка.
Если решать задачу “в лоб”, то есть простым перебором, это очень долго, неэффективный способ решения.
Но на этом задача не кончается. Если латинский квадрат заполнить удастся, надо построить второй латинский квадрат ортогональный данному. Если, конечно, он существует. Поскольку в данной статье написано именно об ортогональных латинских квадратах, то, видимо, этот квадрат можно так заполнить, что к нему можно будет построить ортогональный.
Есть аналогичная задача для латинского квадрата 22-го порядка, для этого квадрата заполнено 7 строк. Нашла фрагмент в другой статье.
Предлагаю задачи для всех программистов. По-моему, задачи не так просты, как может показаться на первый взгляд. Могу прислать статьи, в которых нашла фрагменты латинских квадратов.
См. здесь темы
“Магические квадраты” и
“Латинские квадраты”.