Блог пользователя grey_wind

Автор grey_wind, 11 лет назад, По-русски

Прошу подкинуть идею, как решать эту задачу. Спасибо!

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

»
11 лет назад, # |
Rev. 4   Проголосовать: нравится 0 Проголосовать: не нравится

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

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    А в чём идея чередующихся массивов? Вроде, ни разу не слышал о таком приёме.

    • »
      »
      »
      11 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Да слышал наверное, просто не понял, что я именно это имел в виду.

      Память в N раз уменьшить, т.к. только последний слой динамики надо хранить.

      • »
        »
        »
        »
        11 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        А, это действительно слышал, спасибо)

        Пока не понял суть перехода. Точнее, как осуществить переход, если мы не храним свободных игроков.

        Или не разобрался, что такое "количество человек". Это количество пар, которые уже составлены?

        • »
          »
          »
          »
          »
          11 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится

          Ну во-первых надо посортить людей по крутости, чтоб каждый следующий обыгрывал всех предыдущих.

          А потом перебираем, текущий человек будет играть партию или нет. Если будет, мы знаем, со скольки людьми из второй команды он может ее сыграть. И знаем, что он выиграет, т.к. люди посорчены. А если не будет, то динамика ему потом как-нибудь выберет другого соперника.