Anatol писал(а) 21. Мая 2010 :: 16:50:Помоему задача поставлена не совсем корректно.
по
Швейцарской системе распределение пар еще зависит от результат предыдущего тура, выигравшие играют с выигрывавшими, а проигравшие с проигравшими.
#13 на верно следует перечитать правила, а то ерунда получается
Давай на примере покажу.
Всего в чемпионате участвуют 6 человек: 1,2,3,4,5,6. В первом туре они разбиваются на пары согласно жребию (т.к. кол-во очков у всех = 0 и рейтинга ни у кого никакого нет) на вот такие пары:
| Игрок1 | Игрок2 | Победитель |
| 1 | 2 | 1 |
| 3 | 4 | 3 |
| 5 | 6 | 5 |
Во втором туре, согласно правилам, игроки разбиваются на подгруппы по количеству набранных очков. Мы имеем две подгруппы: 1,3,5 (Победители) и 2,4,6 (Проигравшие). Т.к. первая подгруппа имеет нечетное кол-во участников, то последнего выкидываем в ближайшую очковую группу. Тогда имеем такие подгруппы: {1,3} и {5,2,4,6}. Играем:
| Игрок1 | Игрок2 | Победитель |
| 1 | 3 | 3 |
| 5 | 2 | 2 |
| 4 | 6 | 4 |
Теперь перед 3-м туром имеем:
1. Игрок 3 имеет 2 очка
2. Игроки 1,2,4,5 имеют по одному очку
3. Игрок 6 имеет 0 очков
Разбиваемся на подгруппы (согласно очкам и правилу "четности"): {3,1,2,4}, {5,6}
Т.о. в 3-м туре имеем первую подгруппу, где некоторые игрокуи уже играли между собой. А именно:
Пара: 3 - 4
и Пара: 1 - 2
Как раз и надо составить тур для первой подгруппы, где на входе имеем доступные пары:
2-3
1-4
2-4
и список игроков: {1,2,3,4}