Недавно я изучал материал и встречался с Дональдом Кнутом. Но я не нашел подходящий алгоритм для решения своей задачи.
Проблема У нас есть лига с n игроками. каждую неделю у них есть матч друг с другом. через n-1 недели каждая команда боролась друг с другом. в день бывает n / 2 матчей. но одна команда может драться только раз в неделю. если мы сгенерируем комбинацию (n / k), мы получим все комбинации ... (при условии, что k = 2), но мне нужно привести их в правильном порядке.
Мое первое предложение было ... не лучшим. я просто сделал массив, а затем пусть компьютер попробует, найдет ли он правильный путь. если нет, вернитесь к началу, перетасуйте массив и сделайте это снова, ну, я запрограммировал его на PHP (n = 8), и то, что выходит, работает, но занимает много времени, а для n = 16 это дает мне тайм-аут тоже.
Я подумал, может быть, мы найдем алгоритм, или кто-нибудь знает книгу, посвященную этой проблеме.
И вот мой код: http://pastebin.com/Rfm4TquY