Я пытаюсь сортировать список комбинаций определенным образом. Рассмотрим число 1-6 в качестве команд, если каждая команда может играть на время друг против друга команды, мы получили этот список как возможных совпадений:Сортировка всех возможных комбинаций
12 23 34 45 56
13 24 35 46
14 25 36
15 26
16
Так что теперь я хочу что-то вроде «» игровые дни:
12 13 14 15 16
34 46 26 24 23
56 25 35 36 45
Как вы можете видеть, после каждого блока в каждой команде есть одна игра, две игры, ...
Я could'n получить алгоритм для сортировки списка это из:
12 13 14 15 16 23 24 25 26 34 35 36 45 46 56
в
12 34 56 13 46 25 14 26 35 15 24 36 16 23 45
Дополнительно: с нечетными номерами команд способ создания туров становится еще хуже, потому что вы должны выйти на команду в течение дня:
12 23 34 45
13 24 35
14 25
15
12 23 14 24 25
34 45 35 15 13
В первый блок 5 не воспроизводится во втором блоке 1, который не воспроизводится.
Благодарим за любую помощь или идеи относительно t его проблема в C# с .net 4, возможно, используя Linq для управления списком.
РЕШЕНИЕ:
Круговой турнир
http://en.wikipedia.org/wiki/Round-robin_tournament
Round Robin Tournament algorithm in C#
Я еще не читал ваш вопрос, но можете ли вы сделать более понятным, какой из множества различных выходов и способов форматирования вы предложили именно тот, который вам нужен? –
Его не о выходе, цифры просто для объяснения. – Gpx
Это называется раундовым турниром для всех, кто хочет в Google. –