Надо разбить n человек ** пары для турнира х. После проведения раунда надо ещё раз...

0 голосов
20 просмотров

Надо разбить n человек на пары для турнира х. После проведения раунда надо ещё раз разбить на пары, так чтобы игроки не играли ещё раз с друг другом и при этом все должны принимать участие в этом раунде. и так пока не пройдёт (n = 2*m) n - 1 раундов. Я потом этот алгоритм должен буду описать на Paskal.
Или доказать, что это невозможно


Информатика (69 баллов) | 20 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Можно, например, разбить так. 
Первый тур:
1  -  2m
2  -  2m-1
3  -  2m-2
...
m  -  m+1
Второй тур:
1  -  2m-1
2m  -  2m-2
2  -  2m-3
...
m-2  -  m+1
m-1  -  m

K-й тур:
1  -  2m-K+1
2m-K+2  -  2m-K
2m-K+3  -  2m-K-1
...
m-K+1  -  m-K

(Всякий раз все команды, кроме первой, сдвигаются "по кругу")

(148k баллов)