ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Задача 64833
Темы:    [ Теория алгоритмов (прочее) ]
[ Перестановки и подстановки (прочее) ]
[ Оценка + пример ]
Сложность: 3+
Классы: 8,9,10
В корзину
Прислать комментарий

Условие

В строку выписаны 40 знаков: 20 крестиков и 20 ноликов. За один ход можно поменять местами любые два соседних знака. За какое наименьшее количество ходов можно гарантированно добиться того, чтобы какие-то 20 стоящих подряд знаков оказались крестиками?


Решение

  Для того чтобы 20 крестиков стояли подряд, необходимо и достаточно, чтобы все нолики стояли с краев (возможно, все с одного края).
  Оценка. Пусть есть строка с произвольной расстановкой крестиков и ноликов. Будем делать разрешённые ходы, перемещая нолики к правому или к левому краю так, чтобы правее или левее них уже не было крестиков.
  Для этого сначала выберем самый правый и самый левый нолики. Для того чтобы один из них оказался с краю, требуется не более 10 ходов, так как либо слева от самого левого, либо справа от самого правого нолика стоит не более, чем 10 крестиков.
  Далее, возьмём самый правый и самый левый нолик из оставшихся 19. Рассуждая аналогично, получим, что для указанного перемещения опять потребуется не более 10 ходов, и так далее. Таким образом, для получения требуемой расстановки потребуется не более  20·10 = 200 ходов.
  Приведём пример изначальной расстановки для случая, когда меньшего количества ходов не хватит. Пусть в ряд стоят 10 крестиков, затем 20 ноликов, а затем еще 10 крестиков. В этом случае для перемещения каждого нолика к краю потребуется ровно 10 ходов.


Ответ

За 200 ходов.

Источники и прецеденты использования

олимпиада
Название Московская математическая регата
год
Год 2014/15
класс
Класс 9
задача
Номер 9.4.3

© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .