На Горох
Информатика

Игра. Круговой турнир

"Информатика", Рудченко Т.А., Семёнов А.Л. / Под ред. Семёнова А.Л.

Объяснение темы

Кратко о теме

Круговой турнир — соревнование, в котором каждый игрок или команда встречается со всеми остальными. Чтобы узнать число игр, достаточно посчитать пары участников: каждая пара играет один раз. Если участников n, встреч будет n(n−1)/2, потому что при подсчёте по соперникам каждая игра учитывается дважды. Тот же список пар помогает составить расписание и распределить встречи по турам так, чтобы никто не играл одновременно в двух местах.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Круговой турнир — соревнование, в котором каждый участник встречается с каждым другим участником. Например, если играют три человека, никто не может закончить турнир, не сыграв с двумя остальными. Это правило задаёт полный набор игр и помогает заранее оценить длительность соревнования.

Участник турнира — игрок или команда, для которых составляют список встреч. Участников удобно обозначить числами или буквами, чтобы не путать их при перечислении пар. Так можно записать расписание компактно и проверить, все ли люди или команды включены.

Встреча — одна игра между двумя участниками; при подсчёте каждая пара учитывается один раз. Например, игра А—Б и запись Б—А обозначают одну и ту же встречу. Это определение нужно, чтобы не удваивать число игр и не повторять пару в расписании.

Тур — часть расписания, в которой проходят встречи, не требующие участия одного и того же игрока одновременно. Если игрок уже поставлен в одну игру тура, его нельзя записать ещё в одну. Разделение на туры позволяет проводить несколько встреч параллельно без накладок.

Как это устроено

Для подсчёта удобно рассматривать пары участников, потому что в одной встрече играют ровно двое. Можно представить, что участники стоят в списке, а каждая игра соединяет двух из них. Если отметить все такие соединения, задача о количестве игр превращается в задачу о числе разных пар.

Пусть всего n участников. Первый может сыграть с n−1 соперниками, второй тоже имеет n−1 соперников, и так для каждого. Значит, если сложить число соперников у всех, получится n(n−1). Но запись «А играет с Б» появится и в списке А, и в списке Б: один и тот же матч посчитан дважды.

Чтобы получить число встреч, нужно убрать этот двойной счёт: n(n−1) разделить на 2. Поэтому формула имеет вид n(n−1)/2. Её можно проверить на маленьких турнирах: при двух участниках одна пара, при трёх — три пары, при четырёх — шесть; формула даёт соответственно 1, 3 и 6.

Список встреч составляют так, чтобы каждую пару записать ровно однажды. Например, можно выписывать соперников первого участника, затем переходить ко второму и записывать только тех, кто стоит после него в исходном списке. Такой порядок не позволяет снова записать уже встреченную пару, а отметки рядом с участниками помогают заметить пропуск.

Готовые встречи распределяют по турам, поскольку участник не может играть несколько партий одновременно. В каждом туре сначала выбирают непересекающиеся пары: ни один игрок не должен встречаться дважды в одном туре. Если участников нечётное число, всех сразу разбить на пары нельзя, поэтому один игрок отдыхает; в следующем туре его можно заменить другим.

Число встреч в круговом турнире

Число участниковВстреч с каждым участникомВсего встречПроверка через перечисление пар
2 участника11А—Б
3 участника23А—Б, А—В, Б—В
4 участника36А—Б, А—В, А—Г, Б—В, Б—Г, В—Г
5 участников41010 различных пар
n участниковn−1n(n−1)/2Все пары без повторений

В строках для небольшого числа участников можно проверить формулу, перечислив пары. Для большего количества выписывать их все необязательно: воспользуйтесь выражением n(n−1)/2. Последний столбец напоминает, что при проверке важно искать именно разные пары.

Разбор задач

Три игрока

В турнире участвуют 3 игрока. Сколько всего будет встреч? Перечислите пары игроков. Обозначим игроков буквами А, Б и В, чтобы коротко записать каждую игру. Пара должна встретиться только один раз, поэтому обратные записи отдельно не добавляем.

  1. Для игрока А перечислим соперников: Б и В. Получаем пары А—Б и А—В.
  2. Для игрока Б берём только участника, которого ещё не было в парах с А: это В. Записываем Б—В.
  3. Игрок В уже соединён с А и Б, поэтому новых пар не осталось. Всего записаны три встречи.

Ответ: будет 3 встречи: А—Б, А—В и Б—В. Проверим формулой: 3 × 2 / 2 = 3. Перечисление и расчёт совпали, значит, ни одна пара не потерялась.

Шесть команд

В круговом турнире участвуют 6 команд. Нужно узнать, сколько матчей предстоит провести, не перечисляя все пары вручную. Каждая команда играет с пятью соперниками, поэтому подсчёт по командам даст 6 × 5. Однако этот результат пока не является числом матчей: каждый матч попал в подсчёт для обеих команд.

  1. Подставим число участников в формулу: n(n−1)/2.
  2. Вычислим: 6 × (6−1) / 2 = 6 × 5 / 2 = 30 / 2.
  3. Разделим результат на два, чтобы убрать двойной учёт одной и той же пары.

Ответ: предстоит провести 15 матчей. Проверка: каждая из шести команд имеет пять соперников, всего получается 30 упоминаний соперников, то есть вдвое больше числа матчей. После деления на 2 получаем 15.

Расписание для пяти игроков

Нужно составить расписание кругового турнира для пяти игроков так, чтобы в каждом туре каждый участвовал не более чем в одной встрече, и указать отдыхающего. Обозначим игроков А, Б, В, Г и Д. Сначала важно собрать все пары, иначе расписание может выглядеть удобным, но оставить кого-то без встречи.

  1. Выпишем пары: А—Б, А—В, А—Г, А—Д, Б—В, Б—Г, Б—Д, В—Г, В—Д, Г—Д.
  2. Распределим их по турам: в первом играют А—Б и В—Г, отдыхает Д.
  3. Во втором играют А—В и Б—Д, отдыхает Г; в третьем — А—Г и В—Д, отдыхает Б.
  4. В четвёртом играют А—Д и Б—Г, отдыхает В; в пятом — Б—В и Г—Д, отдыхает А.

Ответ: получились пять туров и десять встреч. В каждом туре пары не имеют общих игроков, а один участник отдыхает. Проверяем полный список: каждая из десяти пар встречается ровно один раз, что совпадает с расчётом 5 × 4 / 2 = 10.

Типичные ошибки

Умножить n на n−1 и принять результат за число встреч. Так делают, потому что считают число соперников каждого участника и забывают, что матч принадлежит сразу двум игрокам. Чтобы проверить себя, разделите полученное произведение на 2 и сверьте результат с формулой n(n−1)/2.

Считать А—Б и Б—А разными встречами. Ошибка возникает, когда пары записывают с точки зрения каждого участника, а не как одну общую игру. Сравните состав пары: если в ней те же два человека, порядок записи ничего не меняет. В обычном круговом турнире такую встречу оставляют в списке один раз.

Пропустить пару при составлении расписания. Это легко сделать, когда список участников длинный и встречи распределяют по турам на ходу. После составления расписания сравните число игр с n(n−1)/2 и отметьте все пары в отдельном списке. Повторно появившаяся или неотмеченная пара укажет на ошибку.

Поставить участника в две встречи одного тура. Такое расписание нельзя провести одновременно, хотя общее число матчей может быть правильным. Ошибку допускают, если проверяют только список пар, но не состав каждого тура. Внутри каждого тура убедитесь, что имена в разных парах не повторяются.

Связь с другими темами

Для решения таких задач нужно уметь перечислять элементы множества — то есть участников — и составлять пары без повторений. Это помогает перейти от конкретного расписания к общему правилу подсчёта. Если научиться систематически отмечать уже использованные пары, легче проверять и другие длинные списки вариантов.

Подсчёт пар встречается в комбинаторике — разделе математики о способах выбирать и располагать объекты. Он полезен в задачах на выбор, когда нужно узнать число возможных сочетаний, а также при планировании соревнований и встреч. Формула экономит время, если перечислять все варианты вручную уже неудобно.

Что запомнить

  • В круговом турнире каждый участник играет с каждым другим.
  • Каждая встреча соответствует одной паре участников.
  • При подсчёте через число соперников каждую встречу учитывают дважды.
  • Число встреч при n участниках равно n(n−1)/2.
  • Расписание должно содержать каждую пару ровно один раз.
  • В одном туре участник может играть не более одной встречи.

Частые вопросы по теме

Почему число встреч делят на 2?

Если посчитать для каждого участника всех его соперников, каждая встреча попадёт в подсчёт дважды: один раз для первого игрока и один раз для второго. Поэтому число n(n−1) делят на 2.

Как быстро узнать число игр, если участников много?

Обозначьте число участников буквой n и вычислите n(n−1)/2. Например, для 20 участников получится 20 × 19 / 2 = 190 встреч.

Считаются ли игры А—Б и Б—А разными встречами?

Нет. В обычном круговом турнире это одна и та же пара участников, поэтому встречу А—Б записывают только один раз.

Что делать, если участников нечётное число?

В каждом туре один участник будет отдыхать, потому что остальных нужно объединить в пары. Отдыхающего можно менять от тура к туру, чтобы никто не пропускал игры постоянно.

Как проверить, что в расписании не пропущена ни одна пара?

Посчитайте встречи в расписании и сравните их число с формулой n(n−1)/2. Дополнительно проверьте список пар: каждая пара должна встретиться один раз, без пропусков и повторов.

Спросить по теме параграфа

Игра. Круговой турнир

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика", Рудченко Т.А., Семёнов А.Л. / Под ред. Семёнова А.Л.