Тема КОМБИНАТОРИКА

Текстовые задачи на конструктивы в комбе .02 Процессы и алгоритмы

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела комбинаторика
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 41#76577Максимум баллов за задание: 7

У Ярослава есть N  замков, пронумерованных числами от 1 до N,  расположенных по кругу в порядке увеличения номеров от 1 до N  по часовой стрелке. В начальный момент времени все замки открыты. Ярослав начинает с замка с номером 1 и движется всегда по часовой стрелке. Если Ярослав находится у замка с номером k,  то:

  • если открытых замков сейчас суммарно больше k,  то Ярослав закрывает следующие по часовой стрелке k  открытых замков, и переходит к следующему после этого открытому замку (возможно, снова к замку с номером k  );
  • если открытых замков сейчас суммарно не больше k,  то Ярослав закрывает все замки, кроме замка с номером k,  и заканчивает (таким образом, остаётся открытым только замок с номером k  ).

При каком наименьшем N > 2022  Ярослав оставит в конце открытым замок с номером 1?

Источники: Турнир Ломоносова-2022, 11.2

Подсказки к задаче

Подсказка 1

Попробуйте посмотреть, какие замки точно останутся закрытыми, а какие открытыми, когда Ярослав сделал какое-то кол-во шагов, но всё ещё на первом круге.

Подсказка 2

Мы понимаем, что 1,3,7,15,31,63,127,255,511,1023 будут открыты. Посмотрите, что происходит в моменте, когда Ярослав стоит на 1023 замке, возможно, мы сможем получить оценку на N? Обратите внимание на то, что после замка с номером k он либо остаётся на нём же, либо переходит в замок с номером 2k+1.

Подсказка 3

Да, если N < 2046, то он гарантированно закроет замок с номером 1, а что будет при N = 2046? В этой задаче хорошо, что пример придумывать не нужно, а можно просто проверить, выполняется ли условие после проделанного алгоритма или нет.

Показать ответ и решение

Легко видеть, что Ярослав будет находится вначале у замка 1,  потом — 3,7,15,31,63,127,255,511,1023.

Если N <2046,  то следующим действием Ярослав закроет замки с номерами 1024,1025,...,N,1  и, возможно, ещё какие-то. В любом случае, замок под номером 1  останется закрытым.

Если N =2046,  то дальше Ярослав закроет все замки с номерами от 1024  до 2046  и вновь встанет у замка с номером 1.  Сейчас открыты замки 1,3,7,15,31,63,127,255,511,1023.  Дальше Ярослав закрывает замок 3  и переходит к замку 7,  потом закрывает замки 15,31,...,1023,  и переходит к замку 1,  который и оставляет открытым.

Ответ: 2046

Ошибка.
Попробуйте повторить позже

Задача 42#76585Максимум баллов за задание: 7

На доске написана буква А. Разрешается в любом порядке и количестве:

а) приписывать А слева;

б) приписывать Б справа;

в) одновременно приписывать Б слева и А справа.

Например, БААБ так получить можно ( А → БАA → БААБ), а АББА — нельзя.

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

Источники: Турнир городов - 2022, 11.6 (см. www.turgor.ru)

Подсказки к задаче

Подсказка 1

В задаче фигурирует n, поэтому имеет смысл порешать ее индукцией. Количество всех слов посчитать несложно, поэтому мы знаем, сколько слов хочется сделать достижимыми. А что делать при переходе? Какие случаи нужно разобрать?

Подсказка 2

Для каждой из операций нужно посмотреть, сколько таких слов существует. Однако заметим, что могут быть повторы слов. Слова при каких операциях могут пересекаться?

Подсказка 3

Посчитайте, сколько есть слов вида AWБ. Заметим, что именно такое количество слов посчитано дважды :)

Показать доказательство

Назовем слова, которые можно получить, достижимыми. Всего существует 2n  различных слов длины n,  поэтому достаточно доказать, что количество достижимых слов длины n  равно n−1
2  .  Докажем это утверждение по индукции.

База индукции. Для n =1  и n =2  это легко проверяется: А → АА, А → АБ.

Шаг индукции. Пусть для всех длин, не превосходящих n,  утверждение верно. Посмотрим, как можно получить слово длины n +1:

1.

из слова длины n,  применив операцию а): W → АW

2.

из слова длины n,  применив операцию б): W →

3.

из слова длины n − 1,  применив операцию в): W → БWА

Слов 1-го и 2-го типа по 2n−1,  а слов 3-го типа − 2n−2.  При этом слова 3-го типа не могут совпадать со словами 1-го и 2-го типа. А вот множества слов 1-го и 2-го типа пересекаются. Их общие слова имеют вид Аw  Б. Докажем, что слова w  (которые находятся между буквами А и Б) — это все достижимые слова длины n − 1.  Понятно, что если w  — достижимое слово, то за две операции из него можно получить Аw  Б. С другой стороны, если слово w  Б достижимое, то посмотрим, как оно было получено. Если проделать все те же операции, но пропустить приписывание последней буквы Б, то будет получено слово w,  значит, оно достижимое.

Таким образом, общих слов 1-го и 2-го типа столько же, сколько достижимых слов длины n− 1,  то есть 2n−2.  Следовательно, количество слов длины n+ 1  равно 2n−1+ 2n−1− 2n−2+ 2n−2 = 2n,  что и требовалось доказать.

Ошибка.
Попробуйте повторить позже

Задача 43#81274Максимум баллов за задание: 7

На острове живут красные и зеленые хамелеоны. Некоторые из них дружат (дружбы взаимны). Каждый день один из хамелеонов может изменить свой цвет (с красного на зеленый или с зеленого на красный), если среди его друзей большинство хамелеонов другого цвета. Докажите, что перекраски хамелеонов не могут продолжаться бесконечно.

Подсказки к задаче

Подсказка 1

Переведите задачу на язык графов. Изучите процесс на языке графов. Как он происходит? Найдите какой-нибудь инвариант.

Подсказка 2

Инвариант про вершины придумать тяжело. Нужно смотреть на ребра. Обратите внимание на количество ребер с одноцветными концами.

Показать доказательство

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

Ошибка.
Попробуйте повторить позже

Задача 44#81275Максимум баллов за задание: 7

На столе в ряд лежат N  монет. За один ход можно перевернуть несколько (возможно одну) монет, лежащих подряд. Какого наименьшего количества ходов заведомо хватит для того, чтобы все монеты перевернуть орлом вверх?

Подсказки к задаче

Подсказка 1

Надо придумать какую-то оценку и какой-то пример. На какое число? Не понятно, поэтому для начала нужно понять ответ, изучите маленькие N, поймите ответ и "худшее" расположение монет.

Подсказка 2

Ответ целая часть от (N+1)/2. Понять худшую расстановку не очень трудно, действительно, если в "худшей" расстановке есть соседние одинаковые монеты, то их можно склеить. Докрутите идею. А почему за столько точно можно? Постройте алгоритм, исходя из "худшей" расстановки.

Показать ответ и решение

Докажем, что меньшего количества ходов может не хватить. Положим первую монету решкой вверх, вторую — орлом вверх, третью — снова решкой вверх, и так далее. Предположим, что в такой ситуации нам хватит меньше [N+1]
  2 ходов. Заметим, что каждая пара соседних монет имеет один из 2  типов: либо они лежат одинаково, либо по-разному, причем мы также считаем парами границы ряда (то есть между крайними монетами и концами, границы считаем решками). Заметим, что за один ход мы меняем тип ровно 2  пар. С другой стороны пар второго типа у нас изначально ровно N  для четных N  и N + 1  для нечетных N.  Тогда нам потребуется хотя бы [N+1]
  2 ходов.

Осталось показать, что такого количества ходов нам всегда хватит. Разобьем монеты на блоки подряд идущих, повернутых одинаково (сначала блок орлов, потом решек, затем снова орлов и так далее, или наоборот). Заметим, что блоков каждого типа не больше [N+1]
 -2- (иначе некоторые два одинаково повернутых блока стояли подряд). Тогда можно перевернуть все блоки, которые повернуты решкой вверх.

Ответ:

[N+1]
  2 ходов

Ошибка.
Попробуйте повторить позже

Задача 45#81276Максимум баллов за задание: 7

Дан ряд из 106  лампочек, все из которых изначально выключены. Каждый из 2016  человек по очереди подходит к этому ряду и переключает (то есть, выключенные включает, а включённые выключает) какие-то 2017  подряд идущих лампочек. В итоге оказалось, что ровно k  лампочек включены. Докажите, что среди любых 2017  подряд идущих лампочек не более, чем k∕2  лампочек включены.

Подсказки к задаче

Подсказка 1

Просят доказать, что чего-то не больше половины, значит, нужно какие-то включенные лампочки разбить на пары(а может не пары), так чтобы лампочки из одной группы не были в подряд идущих 2017. Как это можно сделать?

Подсказка 2

Раскрасьте все лампочки в 2017 цветов, докажите, что в конце включенных лампочек каждого цвета четно. Почему тогда не больше половины?

Показать доказательство

Пронумеруем лампочки слева направо и покрасим каждую лампочку в цвет остатка ее номера при делении на 2017.  Заметим, что каждый человек переключает по одной лампочке каждого цвета. Так как людей четное количество, то в конце будет гореть четное количество лампочек каждого цвета. Значит, если в конце лампочки какого-то цвета включены, то их хотя бы две штуки. Среди 2017  подряд идущих лампочек максимум одна включенная лампочка рассматриваемого цвета, то есть не более половины включённых. Проводя те же рассуждения для каждого цвета, получим, что среди любых 2017  подряд идущих лампочек не более k∕2  включенных, что и требовалось.

Ошибка.
Попробуйте повторить позже

Задача 46#81575Максимум баллов за задание: 7

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

Показать доказательство

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

Ошибка.
Попробуйте повторить позже

Задача 47#88730Максимум баллов за задание: 7

В таблице m × n  расставлены неотрицательные числа так, что в каждой строке и каждом столбце есть хотя бы одно положительное число. Оказалось, что если на пересечении строки и столбца стоит положительное число, то суммы чисел в этих линиях равны. Докажите, что m = n.

Показать доказательство

Рассмотрим любую строчку, пусть в ней сумма S.  Затем рассмотрим множество A  всех строк и столбцов с суммой S.  Заметим, что на пересечении строки и столбца с разной суммой стоит 0.  Значит, все положительные числа в линиях множества A  стоят на пересечении строк и столбцов из множества A.  Подсчётом сумм чисел, стоящих на пересечении строк и столбцов из A,  по строкам и по столбцам получаем, что в A  поровну строк и столбцов. Удалим все строчки и столбцы из A.  Для оставшейся таблицы условие задачи остаётся верным. Продолжая этот процесс, получим, что строчек и столбцов в изначальной таблице поровну.

Ошибка.
Попробуйте повторить позже

Задача 48#92018Максимум баллов за задание: 7

Было 7 пустых ящиков. В некоторые из них положили еще по 7 пустых ящиков и т. д. В итоге стало 10 непустых ящиков. Сколько всего стало ящиков?

Показать ответ и решение

Если ящик A  лежит непосредственно в ящике B  , то будем говорить, что из ящика A  в ящик B  идёт стрелка. Пусть всего стало  x  ящиков. Подсчитаем двумя способами общее количество стрелок. C  одной стороны, оно равно x− 7  , поскольку из каждого ящика, кроме начальных семи, выходит ровно одна стрелка. C  другой стороны, число стрелок равно 10⋅7= 70  , поскольку в каждый из 10 непустых ящиков входит ровно 7 стрелок (а ни в какой пустой ящик стрелка не входит). Следовательно, x− 7= 70  , откуда x =77.

Данную задачу можно решить и по-другому. На каждом шаге процесса заполняется ровно один ящик – в него кладутся 7 ящиков. Поскольку вначале все ящики пусты, сделано 10 шагов, то есть добавлено 70 ящиков. Плюс семь начальных – итого 77 ящиков.

Ответ: 77

Ошибка.
Попробуйте повторить позже

Задача 49#92069Максимум баллов за задание: 7

По кругу расставлены 9 цифр, каждая из которых равна 0 или 1, причём не все расставленные числа равны. За один ход между каждыми двумя соседними числами записывается 0, если эти числа равны, и 1, если они не равны. После этого старые числа стираются. Могут ли через некоторое время все числа стать равными?

Показать ответ и решение

Допустим, могло. Рассмотрим первый раз, когда такое случилось. Возможны 2 случая:

1) в итоге остались 9 нулей. Значит, на предыдущем шаге все числа были равны, это противоречит тому, что эта ситуация случилась в первый раз.

2) в итоге осталось 9 единиц. Значит, на предыдущем шаге 0 и 1 чередовались, но это неозможно, так как число чисел чётно. Получаем противоречие.

Ответ: нет

Ошибка.
Попробуйте повторить позже

Задача 50#122863Максимум баллов за задание: 7

Дано слово w  длины n.  Назовём слово u  прекрасным, если в w  есть подслово uuu.  Докажите, что существует не более n  прекрасных слов. Подслово слова w  формируется несколькими его буквами, идущими подряд.

Показать доказательство

Каждому прекрасному слову сопоставим позицию первой буквы последнего вхождения подслова uuu  в w.  Докажем, что построено отображение является инъекцией, откуда будет следовать, что мощность всех прекрасных слов не превосходит мощности позиций всех букв в слова w,  последнее же равно n.

Итак, предположим противное, тогда существуют два различных прекрасных слова u  и v,  у которых совпадают позиции первых букв последних вхождений подслов uuu  и vvv.  Пусть ℓ(s)  — количество букв в подслове s.  Без ограничений общности будем считать, что ℓ(v)< ℓ(u).  Далее рассмотрим два случая.

Если 3ℓ(v)<2ℓ(u),  то слово uu  имеет своим префиксом слово vvv,  но тогда первая буква второго вхождения слова u  в последнее вхождения слова uuu  является первой буквой какого-то вхождения слова vvv,  что невозможно, ведь по предположению первая буква слова uuu  является первой буквой последнего вхождения слова vvv.

Пусть 3ℓ(v) >2ℓ(u)  и s  — префикс uu  последнего вхождения слова uuu.  Во-первых, s  периодична с периодом ℓ(u).  Во-вторых,     s  является префиксом слова vvv,  но тогда она так же периодична с периодом ℓ(v).  Докажем, что тогда она периодична с периодом d =НО Д(ℓ(u),ℓ(v)).

Действительно, по теореме о линейном представлении НОД существуют такие целые числа a  и b  одинаковых знаков, что d =aℓ(u)− bℓ(v).  Будем считать, что a,b> 0,  второй случай разбирается аналогично.

Рассмотрим следующий процесс. Встанем на произвольную позицию i0  в s.  В силу периодичности, для любого i  на позиции i+ℓ(u)  при i0 < ℓ(u)  и i− ℓ(v)  при i> ℓ(v)  стоят те же буквы, что и на позиции i.  Докажем, что мы сможем сделать a  операций первого вида и b  операций второго вида, тем самым придя в позицию i0+ d.

Пусть на некотором шаге мы сделали a′ операций первого и b′ операций второго вида. Если a′ < a  и b′ < b,  то сделаем любую из операций, что возможно, поскольку текущая позиция i  удовлетворяет по крайней мере одному из требуемых неравенств. Если a′ < a  и b′ = b,  то текущая позиция равна

i0+ a′ℓ(u)− bℓ(v),

но тогда мы можем сделать операцию первого типа, поскольку прибавление ℓ(u)  к текущей позиции даст не больше, чем i0+ d,  то есть такая операция была возможно. Случай a′ =a  и b′ < b  рассматривается аналогично. Таким образом, в силу возрастания общего количество операций мы придем к случаю a′ = a  и b′ =b,  чем получим требуемое. Таким образом, мы показали, что s  периодична с периодом d.  Отсюда сразу следует, что и uuu  периодична с данным периодом.

Наконец, осталось заметить, что ℓ(u)− ℓ(v)≥ d,  то есть 3ℓ(u)− 3ℓ(v)> d,  то есть сдвинув все позиции последнего вхождения vvv  на d  мы получим снова слово vvv,  поскольку индекс последней буквы равен 3ℓ(v),  что, как мы выяснили, меньше, чем 3ℓ(u)− d,  а значит, каждая буква перешла в такую же. Тем самым, мы нашли вхождение vvv  позиция первой буквы больше изначальной.

Ошибка.
Попробуйте повторить позже

Задача 51#137298Максимум баллов за задание: 7

Дано натуральное число n >4.  На плоскости отмечены n  точек, никакие три из которых не лежат на одной прямой. Василий проводит по одному все отрезки, соединяющие пары отмеченных точек. На каждом шаге, проводя очередной отрезок S,  Василий помечает его наименьшим натуральным числом, которым ещё не помечен ни один отрезок, имеющий с S  общий конец. Для какого наибольшего k  Василий может действовать так, чтобы пометить какой-то отрезок числом k?

Источники: ВСОШ, ЗЭ, 2022, 10.4 и 11.4 (см. olympiads.mccme.ru)

Показать ответ и решение

Оценка. Рассмотрим шаг, на котором Василий помечает некоторый отрезок AB.  Перед этим шагом из каждой из точек A  и B  выходит максимум по n − 2  отрезка, и они содержат максимум 2n− 4  различных пометки. Значит, Василий точно сможет пометить этот отрезок числом, не превосходящим 2n− 3.  Итак, k≤ 2n− 3.

Если n  чётно, эту оценку можно уточнить следующим образом. Назовём маленьким отрезок, помеченный единицей. Докажем, что в конце процесса из каждой точки будет выходить маленький отрезок; предположим противное. Точки, из которых выходят маленькие отрезки, разбиваются на пары точек, соединённых таким отрезком. Значит, есть хотя бы две точки X  и Y,  из которых не выходит маленьких отрезков. Выходит, что когда Василий проводил отрезок XY,  он должен был пометить его единицей — противоречие.

Значит, если отрезок AB  не будет маленьким, то в конце процесса среди отрезков, выходящих из A  и B,  кроме AB,  будут два маленьких отрезка. Значит, на этих отрезках будет максимум 2(n− 2)− 1= 2n− 5  различных пометок. Следовательно, когда Василий будет проводить отрезок AB,  он сможет пометить его числом, не превосходящим 2n− 4,  и k ≤2n− 4.

Пример. Осталось доказать, что Василий может достичь указанных значений k.

______________________________________________________________________________________________________________________________________________________

Лемма. Если количество точек чётно и равно m,  то Василий может пометить все отрезки между этими точками, использовать лишь числа от 1  до m − 1.  При этом из каждой точки выходит ровно по одному отрезку с каждой пометкой.

Доказательство. Утверждение леммы не зависит от конкретного расположения точек, так что можно считать, что m − 1  точек A1,...,Am−1  расположены в вершинах правильного (m− 1)  -угольника, а оставшаяся точка — в его центре O.

Тогда все отрезки между этими точками можно разбить на m − 1  множеств S1,S2,...,Sm−1  так, чтобы отрезки одного множества не имели общих концов. Например, в множество Si  можно включить отрезок OAi  и все отрезки, соединяющие пары вершин (m − 1)  -угольника и перпендикулярные OAi.  Из каждой точки выходит по отрезку каждого из множеств.

Теперь Василий может сначала пометить все отрезки множества S1  числом 1, затем все отрезки второго множества числом 2, и т. д.

_________________________________________________________________________________________________________________________________________________________________________________

Вернёмся к решению. Пусть n  нечётно, и пусть A  — отмеченная точка. Пусть Василий сначала пометит все отрезки между точками, отличными от A,  числами от 1 до n − 2  согласно лемме. Затем он проведёт n− 1  отрезок из A;  каждый отрезок AB  ему придётся помечать числом, большим n− 2,  ибо из B  уже выходят отрезки, помеченные всеми меньшими числами. Кроме того, все эти n − 1  отрезок будут помечены разными числами, ибо у них есть общий конец. Следовательно, они будут помечены числами

n − 1,n,...,2n − 3,

то есть Василий получит пометку k =2n − 3.

Пусть теперь n  чётно. Выберем две отмеченных точки A  и B;  пусть

C ,C ,...,C
  1 2     n−2

— остальные отмеченные точки. Пусть Василий сначала пометит все отрезки между точками Ci  числами от 1 до n − 3  согласно лемме, а также пометит отрезок AB  числом 1. Затем он последовательно проводит отрезки

AC1,AC2,...,ACn−3;

поскольку в вершины Ci  уже входят отрезки с пометками от 1 до n− 3,  новые отрезки будут помечены числами

n − 2,n− 1,...,2n− 6

соответственно. Далее Василий проводит отрезки

BCn −3,BC2,BC3,...,BCn−4;

аналогично, он пометит их числами

n − 2,n− 1,...,2n− 6

соответственно.

Теперь в вершины A  и B  уже входят отрезки со всеми пометками от n− 2  до 2n− 6,  а в вершину Cn−2  — со всеми пометками от 1 до n− 3.  Значит, когда Василий проводит отрезки ACn−2  и BCn −2,  первый будет помечен числом 2n− 5,  а второй — числом 2n− 4  (ибо имеет общий конец с предыдущим). Значит, Василий добился появления числа k =2n− 4.

Ответ:

 k =2n− 3  при нечетном n,  и k= 2n − 4  при четном n> 4

Ошибка.
Попробуйте повторить позже

Задача 52#137300Максимум баллов за задание: 7

В стране 998 городов. Некоторые пары городов соединены двусторонними авиарейсами. Согласно закону, между любой парой городов должно быть не больше одного рейса. Другой закон требует, чтобы для любой группы городов было не больше 5k+ 10  рейсов, соединяющих два города этой группы, где k  — количество городов в группе. В настоящий момент законы соблюдены. Докажите, что министерство развития может ввести несколько новых рейсов так, чтобы законы по-прежнему соблюдались, а общее количество рейсов в стране стало равным 5000.

Источники: ВСОШ, ЗЭ, 2022, 9.7 (см. olympiads.mccme.ru)

Показать доказательство

Назовём набор городов критическим, если есть 5k+ 10  рейсов, соединяющих два города этой группы, где k  — количество городов в группе. Тогда k >11,  ибо иначе между городами группы есть не более

k(k− 1)∕2≤ 5k < 5k +10

рейсов. Если группа из всех 998 городов критическая, то в стране уже 5⋅998+10= 5000  рейсов.

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

Докажем, что если группа из всех городов не критическая, то министерство может добавить один рейс с соблюдением законов. Повторяя такие операции, министерство добьётся требуемого. Заметим, что, если между городами x  и y  нет рейса, то добавить его министерство не может лишь в случае, когда оба города x  и y  входят в какую-то критическую группу.

_________________________________________________________________________________________________________________________________________________________________________________

Лемма. Пусть A  и B  — критические группы. Тогда группа A ∪B  также критическая.

Доказательство. Положим

C = A∩ B,D= A ∪B.

Пусть

|A |= a,|B |= b,|C|= c;

тогда |D|= a+b− c.  По условию, имеем

f(A )=5a+ 10, f(B)= 5b+ 10, f(C)≤ 5c+ 10.

Заметим, что все рейсы, посчитанные в f(A )  и f(B ),  учитываются также и в f(D);  более того, если какой-то рейс учтён и в f(A ),  и в f(B ),  то оба его конца лежат в C,  то есть количество дважды учтённых рейсов равно f(C).  Поэтому

f(D )≥ f(A)+ f(B)− f(C)≥ (5a +10)+(5b+ 10)− (5c+ 10)=5(a+ b− c)+ 10 =5d+ 10.

Учитывая, что законы соблюдены, получаем f(D) =5d+ 10,  что и требовалось.

_________________________________________________________________________________________________________________________________________________________________________________

Вернёмся к решению. Если в настоящий момент нет ни одной критической группы, можно добавить рейс между любой парой городов, между которыми его ещё нет (такая пара найдётся!). Иначе, применяя лемму, получаем, что объединение всех критических групп — тоже критическая группа A;  по предположению, в ней a< 998  городов. Пусть x  — город вне A;  тогда x  не входит ни в какую критическую группу.

Пусть из x  идёт k  рейсов в города из A.  Поскольку группа A′ = A∪ {x} не критическая, имеем

              ′
5(a+1)+ 10> f(A )= f(A )+k= 5a+ 10+k,

откуда k< 5.  С другой стороны, a≥ 12,  поэтому в A  есть город y,  не соединённый рейсом с x,  и города x  и y  не входят в одну критическую группу. Значит, министерство может ввести рейс между x  и y.

Ошибка.
Попробуйте повторить позже

Задача 53#92422Максимум баллов за задание: 7

 ABC  — равносторонний треугольник на плоскости, а S  — круг, концентрический с описанной окружностью треугольника ABC  , но имеющий вдвое больший радиус, пусть его радиус равен 1.

Применить к точке X  на плоскости операцию значит отразить точку X  симметрично относительно ближайшей вершины треугольника ABC  (если ближайших вершин две, выбираем одну из двух произвольным образом).

a) Докажите, что любая точка плоскости за конечное число операций попадет в круг S  .

б) Пусть d  — расстояние от центра S  до какой-то точки, попадающей в первый раз в круг S  после ровно 2021 операции. Найдите промежуток возможных значений d  .

Источники: Высшая проба - 2021, 11.6 (см. olymp.hse.ru)

Подсказки к задаче

Подсказка 1

Попробуйте для удобства разбить плоскость на какие-нибудь части, чтобы было проще анализировать процесс.

Подсказка 2

Давайте рассмотрим части, на которые плоскость разбивают прямые OA, OB, OC, где O — центр окружности. Проанализируйте из, в какой части какая точка ближе и прочее.

Подсказка 3

Композиция симметрий относительно двух точек равносильна некоторому преобразованию. Какому?

Подсказка 4

Давайте рассматривать эти операции не для точек, а для круга S. Нам нужно множество кругов, равных S, которое за не более чем 1010 операций перейдут в S. Это и будет искомым множеством точек. Осталось понять, какой круг самый далёкий и самый ближний к S.

Показать ответ и решение

Пусть O  — центр окружности S  (и описанной окружности треугольника ABC  соответственно). Прямые OA,OB  , и OC  разделят плоскость на 6 частей, которые назовем областями. Пусть эти прямые пересекают окружность S  в точках A1,A2,B1,B2  и C1,C2  соответственно ( A1  и A  на одном луче от O,A2  — на другом, для других точек аналогично). Тогда стороны угла B2OC2  являются серединными перпендикулярами к отрезкам AC  и AB  , а значит, для всех точкек угла B2OC2  (равного   ∘
120 ) и только для них A  является ближайшей из A,B,C  . При этом для точек, которые лежат внутри угла C2OA1  , но вне круга S  , после операции вершина C  становится ближайшей, а внутри угла A1OB2  — вершина B  . Для вершин B  и C  аналогично.

Рассмотрим, что происходит при применении нескольких операций к точке X0  . Пусть Xk  образ точки X0  , после применения к ней k операций. Докажем следующие утверждения:

Если Xk  лежит в S  , то все Xn  при n >k  — тоже. Так что теперь можем без ограничения общности считать, что X0  лежит в угле A1OB2  и вне круга S  .

Вектор X0X2  равен удвоенному вектору AB  , так как для X0  ближайшая вершина A  , для X1− B  , композиция симметрий относительно A  потом B  — параллельный перенос на вектор 2AB  .

Соответственно, если все точки X0,X2,X4,...X2k  лежат в A1OB2  но не в S  , то все вектора X0X2,X2X4,X4X6,...X2kX2k+2  равны 2AB  .

Пусть X2k+2  — первая из четных точек, не лежащая одновременно в угле A1OB2  и вне круга S  . Тогда X2k+2  лежит в одной из трех областей: S,A1OC2  и B2OC1  .

Итак, без ограничения общности можно считать, что X2k+2  попала в A1OC2  .

Итак, если точка когда-то за две операции перескочит из угла в соседний, то дальше за каждую пару операций точка перепрыгивает между ровно этими двумя соседними углами, пока не попадет в круг S  . Докажем, что это рано или поздно произойдет. В самом деле, пусть точка за двойную операцию переходит между A1OC2  и A1OB2  . Тогда она за каждую двойную операцию смещается на вектор 2AB  или 2AC  . Оба вектора имеют проекцию − 3∕4  на луч OA  , значит рано или поздно проекция точки на OA  будет иметь отрицательную координату, то есть точка покинет углы A1OC2  и A1OB2  .

Сделать это четная точка может только попав в S,  поскольку если X2k+2  — первая из четных точек, попавшая в A1OC2  , то X2k+4  попадет в S  или A1OB2,X2k+6  попадет в S  или A1OC2  и так далее (за каждые два хода точка перескакивает через границу между теми же двумя соседними углами, или запрыгивает в S  ).

_________________________________________________________________________________________________________________________________________________________________________________

Как доказано выше, каждому из шести углов, на которые разделена плоскость, сопоставлен свой вектор e1,⋅⋅⋅e6  , такой что квадрат операции для точки, лежащей в данном угле, есть перенос на соответствующий вектор. Тогда множество точек, попадающих в круг S  не более чем за 1010 операций - это множество кругов, получаемых из круга S  при параллельных переносах на всевозможные линейные комбинации векторов e1,⋅⋅⋅e6  с целыми неотрицательными коэффициентами, сумма которых не больше 1010 , и только два циклически соседних коэффициента отличны от нуля. Тогда самый близкий к S  граничный круг (обозначим его S′ а его центр O ′)  - представляющийся в виде 505e+ 505ei+ 1
   i  , то есть |OO′|= 1515  . Заметим, что для S ′ только его дуга размером 120∘ , отвернутая от S  , не покрыта остальными кругами, итого самая ближняя к O  граничная точка Y  такова что ∠OO′Y =120∘ , то есть |OY|= √15152-+1515+1-  .

По аналогичным соображениям, точки переходящие в S  за 2021 ход - образы кругов радиуса 1 с центрами в точках A1,B1,C1  при переносах на ту же систему векторов. Тогда самый далекий от S  круг (обозначим его  6
S  а его центр   ∘
O )получается при переносе на вектор 1010ei  , то есть имеющий длину    √-
1010 3  . Поскольку OA1  образует угол в    ∘
150 с ei  имеем    ′  √-----2----------
|OO |=  3⋅1010 +3⋅1010+1  . Точка на границе круга еще на 1 дальше, итого ответ √------2---------
 3 ⋅1010 +3 ⋅1010+ 1+1  .

Ответ:

ю) √3⋅10102+-3⋅1010-+1+ 1

Ошибка.
Попробуйте повторить позже

Задача 54#93393Максимум баллов за задание: 7

Имеется табло 100× 100,  в каждой ячейке которого находится лампочка; исходно все лампочки выключены. K этому табло подключены 200  переключателей: по одному на каждую линию (т.е. строку или столбец). Переключатель меняет состояние всех лампочек той линии, к которой он относится: горящие выключает, негорящие — включает. За 1  минуту 1  горящая лампочка расходует 1  единицу энергии.

Саша раз в минуту нажимает на какой-то переключатель. Он хочет нажать на каждый из переключателей ровно по одному разу. Приведите пример, как Саше нажимать на переключатели, чтобы количество израсходованных единиц энергии было минимально. Не забудьте доказать, что в вашем примере количество израсходованных единиц энергии действительно минимально.

Источники: Турнир Ломоносова - 2021, 11.4 (см. turlom.olimpiada.ru)

Подсказки к задаче

Подсказка 1

Попробуйте на маленькой доске побыть Сашей и заметить, для какой стратегии тратится минимальное количество энергии. А затем доказать это для общего случая!

Подсказка 2

Давайте посмотрим на ситуацию спустя некоторое число n минут. Пусть Саша нажал на i переключателей на строках и на j на столбцах. Тогда сколько лампочек горит в данный момент? А когда такое количество является минимальным?

Подсказка 3

В выражении для числа горящих лампочек число n = i + j является фиксированным, а произведение ij - нет. А когда произведение является минимальным при фиксированной сумме? Значит, как нужно действовать Саше?

Показать доказательство

Докажем, что если Саша переключает последовательно строки и столбцы, то количество затраченной энергии будет минимально. Для этого докажем даже более сильный факт: при таком алгоритме количество горящих лампочек в каждую минуту минимальное из возможных.

Пусть Саша нажал на n  переключателей, из них i  относились к строкам, а j  — к столбцам. Тогда сейчас горят 100i+100j− 2ij  лампочек: 100i  лампочек в i  выбранных Сашей строках, 100j  — в столбцах, ij  — лампочки на их пересечении (их Саша уже выключил). Сумма 100i+100j =100(i+ j)= 100n  зависит только от номера текущей минуты. Хорошо известно, что если i+ j  фиксировано, то произведение ij  тем больше, чем меньше |i− j| . Осталось заметить, что если переключать последовательно строки и столбцы, то |i− j| на каждом шаге минимальное из возможных: 0  для чётных i+j  и 1  для нечётных.

Ошибка.
Попробуйте повторить позже

Задача 55#99583Максимум баллов за задание: 7

Целое число s∈ {0,...,30} может быть преобразовано следующим образом. Пусть, например, s= 9.  Представим его в двоичной системе счисления пятизначным числом: s= 9= 010012.  Теперь выберем какое-нибудь целое число c≥ 0  и сдвинем получившуюся строку 01001  циклически на c  позиций влево. Например, при c= 1  получится строка 10010, представляющая собой двоичную запись числа 18. Значит, сдвигом на одну позицию из числа 9 получается число 18;  будем это записывать так: 9 ⋘ 1= 18.

(Если 01001  сдвинуть влево на две позиции, то получится 00101,  то есть 9 ⋘ 2= 5.  )

Итак, s≪  c  — это число, получившееся сдвигом числа s  на c  позиций влево.

Для зашифрования осмысленного слова выбирается секретный ключ — набор из 64  чисел

k1,...,k32 ∈{0,...,30} и c1,...,c32 ∈{0,1,2,3}.

Затем с каждой буквой слова (по отдельности) проделывается следующее.

Букву заменяют числом a  по таблице

|---|---|---|---|----|---|----|---|---|---|----|---|----|---|---|---|----|---|---|----|---|---|---|----|----|---|----|---|---|----|----|
|А--|Б--|-В-|-Г-|-Д--|Е--|Ж---|З--|И--|-К-|-Л--|М--|-Н--|О--|-П-|-Р-|-C--|Т--|У--|-Ф--|Х--|Ц--|-Ч-|-Ш--|-Щ--|-Б-|-Ы--|-Б-|-Э-|-Ю--|-Я--|
-0----1---2---3---4---5----6---7----8---9---10--11---12--13--14---15---16--17--18---19---20--21---22---23---24---25---26--27---28---29---30--

и последовательно вычисляют

a1 = (a+ k1)⋘ c1,a2 =(a1+ k2)⋘ c2,...,a32 =(a31+k32)⋘ c32.

Исходную букву затем заменяют на букву, соответствующую числу a32.

(Если в процессе вычислений получается число, превышающее 30,  то оно заменяется остатком от деления на 31.  Так, сумму 20+ 17  следует заменить на 6.  )

В результате зашифрования получился набор букв ЯГКЫНИ.

Найдите исходное слово, если известно, что при зашифровании на этом ключе буква Ъ переходит в букву Ь, а буква П — в Е.

Источники: Верченко - 2021, 11.4 (см. v-olymp.ru)

Подсказки к задаче

Подсказка 1

В таких задачах, где идёт сложный процесс, хорошей идеей будет посмотреть на первые несколько шагов. Вдруг обнаружится цикличность, или можно будет заметить явную закономерность и вывести общую формулу. Попробуйте посмотреть, как меняется для чисел, которые записываются в виде пяти знаков (может быть с нулями в начале) в двоичной системе счисления, значение при операции левого циклического сдвига (то есть при с=1).

Подсказка 2

Заметим, что s « 1  =  2s (mod 31) (для этого надо разобрать два случая, чему равна первая цифра в двоичной системе счисления). Тогда s « c  =  2^c * s (mod 31). А это значит, что мы стали чуть больше понимать, как работает процесс. Однако, все ещё не представляется возможным решить задачу, потому что даже сейчас непонятно, как явным образом ввести ограничения на k_i и c_i. Каким свойством обладает преобразование s « c? А что будет, если сделать не s « c, а (k + n) « c? Чему равно такое выражение?

Подсказка 3

Преобразование линейно, а значит и композиция преобразований тоже линейна. Значит оно записывается в виде kx + b. Что тогда можно сказать про k и b, если у нас есть значения на двух разных аргументах?

Показать ответ и решение

Покажем, что

             c
(s ≪ c)= r31(s⋅2 ).

Заметим, что достаточно доказать для c= 1.  Пусть s= (s4s3s2s1s0) .
            2  Если s4 = 0  , то равенство ( ∗)  очевидно. Если s4 = 1,  то

       3      2
s= 16+ 2 ⋅s3+ 2 ⋅s2+2⋅s1+ s0.

Тогда

r31(s⋅2)= 24⋅s3+23⋅s2+ 22⋅s1+ 2⋅s0+ 1=(s≪ c),

и равенство (∗)  доказано. Следовательно,

a1 =((a+k1)≪ c1)=r31((a+ k1)⋅2c1)= r31(a⋅2c1 + k1⋅2c1).

То есть, на одном шаге шифрования — линейное преобразование числа a.  Так как композиция линейных преобразований есть линейное преобразование, то a32 =(a⋅x+ k)  , где x  и k  — неизвестные.

Воспользуемся тем, что на этом ключе буква Ъ переходит в букву Ь, а буква П — в Е:

27 ≡ (25⋅x +k), 5 ≡ (14⋅x+k)
  31           31

Вычитая из первого равенства второе, получим: 22= 11⋅x.  Отсюда x= 2.  Тогда

27 ≡ (25⋅2+ k)
  31

и, следовательно, k= 8.  Окончательно получили:

a32 =(a⋅2+ 8)

Тогда

a= 2−1(a  − 8)=16⋅a  + 27
       32         32

Последовательно подставляя буквы шифрованного текста ЯГКЫНИ, получим исходное слово МОСКВА.

Ответ:

МОСКВА

Ошибка.
Попробуйте повторить позже

Задача 56#43629Максимум баллов за задание: 7

В 60 люстрах (у каждой люстры по 4 плафона) нужно поменять плафоны. У каждого электрика на смену одного плафона уходит 5 минут. Всего будет работать 48 электриков. Одновременно менять в люстре два плафона нельзя. Какое наименьшее время необходимо для смены всех плафонов во всех люстрах?

В ответ внесите число минут.

Источники: Муницип - 2020, Липецкая область, 7.3

Показать ответ и решение

Покажем, как надо действовать. Сначала 48 электриков меняют по одному плафону в 48 люстрах, на это уходит 5 минут, и у 48 люстр один плафон заменен, у 12 — ни один не заменен. Затем 12 электриков меняют плафоны у тех люстр, у которых еще не меняли, остальные 36 электриков меняют в 36 люстрах вторые плафоны. На это опять уходит 5 минут, получаем 36 люстр с двумя новыми плафонами и 24 — с одним. Теперь 24 электрика меняют вторые плафоны, и 24 — третьи. Теперь 24 люстры с тремя новыми плафонами и 36 — с двумя. Теперь 36 электриков меняют 36 третьих плафонов и 12 электриков — 12 четвёртых плафонов. Теперь 48 люстр с тремя новыми плафонами и 12− с четырьмя. Последний этап 48 электриков меняют последние плафоны на 48 люстрах. Итак, за 5 этапов, т.е. за 25 минут, все плафоны в люстрах заменены. Покажем, что меньше чем за 25 минут это сделать нельзя. Нужно заменить 60 ⋅4 =240  плафонов. На каждый плафон нужно 5 минут, значит, всего не меньше, чем 240⋅5= 1200  минут. Но у нас есть 48 электриков, значит, это можно сделать за 1200:48=  25 минут, но никак не меньше.

Ответ: 25

Ошибка.
Попробуйте повторить позже

Задача 57#43631Максимум баллов за задание: 7

В ряд лежат 8 шариков: сначала 4 черных, потом 4 белых. Заплатив 1 рубль, можно перекрасить шарик в противоположный цвет, а за 60 копеек можно поменять местами два соседних шарика. Можно ли, имея 6 рублей 40 копеек, получить ряд, в котором сначала 4 белых, а потом 4 черных шарика?

Источники: Муницип - 2020, Архангельская область, 7.5

Показать ответ и решение

Сначала четырежды обменяем черные шарики с белыми:

ЧЧЧЧББББ → ЧЧЧБЧБББ → ЧЧБЧЧБББ → ЧЧБЧБЧББ → ЧЧББЧЧББ.

Это обошлось нам в 2 руб. 40 коп. Теперь перекрасим два левых черных шарика в белый цвет, а два правых белых — в черный. На это мы потратим еще 4 руб., итого ровно 6 руб. 40 коп.

Ответ: да

Ошибка.
Попробуйте повторить позже

Задача 58#43632Максимум баллов за задание: 7

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

Источники: Муницип - 2020, Республика Башкортостан, 7.6

Показать ответ и решение

Фальшивых монет может быть две или одна. Занумеруем монеты числами от 1 до 6 в порядке их расположения. Первым взвешиванием на левую чашку кладём 1, 2, 3, на правую 4, 5, 6. Если наступит равновесие, то фальшивых монет две. Если нет, то фальшивая монета одна и лежит на более тяжёлой чашке. Сравним две монеты с этой чашки. Если равновесие, то фальшивая третья, иначе фальшивая на перетянувшей чашке. В случае равновесия в первом взвешивании найдём за второе взвешивание фальшивую среди 1, 2, 3, а вторая фальшивая лежит напротив.

Ответ:

Ошибка.
Попробуйте повторить позже

Задача 59#123418Максимум баллов за задание: 7

Дан бесконечный запас белых, синих и красных кубиков. По кругу расставляют любые N  из них. Робот, став в любое место круга, идёт по часовой стрелке и, пока не останется один кубик, постоянно повторяет такую операцию: уничтожает два ближайших кубика перед собой и ставит позади себя новый кубик того же цвета, если уничтоженные одинаковы, и третьего цвета, если уничтоженные двух разных иветов. Назовём расстановку кубиков хорошей, если цвет оставшегося в конце кубика не зависит от места, с которого стартовал робот. Назовём N  удачным, если при любом выборе N  кубиков все их расстановки хорошие. Найдите все удачные N.

Источники: Тургор - 2020, 11.6, устный тур (см. turgor.ru)

Подсказки к задаче

Подсказка 1

Попробуем рассмотреть расстановку, где все кубики одинаковых цветов, кроме одного. Что можно про нее сказать? Как цвет последнего кубика зависит от начальной позиции? При каких N?

Подсказка 2

Попробуем рассмотреть чётные и нечётные N, что для них можно сказать? Применим рассуждения из прошлой подсказки.

Подсказка 3

Видно, что нечётные N точно не подходят. Выделим теперь из чётных степени двойки. Что получаем для тех чётных, которые являются степенями 2 и тех, которые не являются? Какую зависимость можно заметить? Здесь также можно применить рассуждения из первой подсказки, а также попробовать назвать цвета остатками по модулю 3, а ход робота связать с какой-либо их (кубики a и b) линейной комбинацией.

Показать ответ и решение

Первое решение.

Присвоим цветам остатки 0,1,2  от деления на 3 произвольным образом. Все операции с ними также будем производить по модулю   3.  Тогда операция, производимая роботом, такова: если уничтожаются кубики цветов a  и b,  то появляется кубик цвета − a− b.

Если     k
N =2 ,  то после каждого прохода полного круга количество кубиков уменьшается вдвое, а их сумма меняет знак. Значит, в конце получится кубик цвета    k
(− 1)(a1+...+ aN),  вне зависимости от места старта. Мы доказали, что степени двойки удачны.

Если     k
N =2 + d,  где       k
1≤ d≤2  − 1,  то рассмотрим расстановку из одного красного кубика и N − 1  белого. Если робот стартует перед красным кубиком, то после d  ходов останутся один синий кубик и  k
2 − 1  белых. Если робот стартует непосредственно после красного кубика, то через d  ходов останутся один красный кубик и 2k− 1  белых. Вышеприведённые аргументы для степени двойки показывают, что в этих двух ситуациях итоговые цвета будут разными, то есть N  неудачно.

Второе решение.

Заметим сразу, что, если чётное число N  удачно, то и N∕2  тоже. Действительно, если в расстановке N  кубиков робот будет начинать только с чётных позиций, то после N ∕2  ходов он будет получать одну и ту же расстановку, в которой он стоит на всевозможных позициях. Поскольку каждая расстановка N∕2  кубиков может быть получена таким образом, получаем требуемое.

Рассмотрим две расстановки, отличающиеся ровно в одном месте. Запустим в них по роботу параллельно; тогда получающиеся расстановки всегда будут отличаться ровно в одном месте. В частности, итоговые цвета будут различны.

Отсюда уже следует, что все нечётные N = 2k +1> 1  (а значит, по замечанию, и все N,  кроме степеней двойки) неудачны. Действительно, начнём с расстановки с одним красным и 2k  белыми кубиками. Если робот стоял перед красным кубиком, через k+ 1  ход останутся один красный и k − 1  белый кубик, робот стоит после красного. Если же робот стартует непосредственно после красного, через k+ 1  ход останутся один синий и k− 1  белых кубиков, робот стоит непосредственно после синего. Как показано выше, итоговые цвета в этих двух ситуациях будут разными.

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

Б → К→  С→ Б,

то после одного использования цвет сдвинется в противоположную сторону.

Значит, если N = 2k,  любая такая замена исходного кубика приведёт к сдвигу цвета итогового кубика в одну и ту же сторону. Осталось заметить, что две расстановки, отличающиеся поворотом, получаются из расстановки всех белых кубиков за одинаковое количество замен "вперёд по циклу".

Ответ:

Степени двойки

Ошибка.
Попробуйте повторить позже

Задача 60#123421Максимум баллов за задание: 7

Каждая из двух сестёр загадала натуральное число от 1  до 1000.  Папа по очереди задаёт сёстрам (то одной, то другой) вопросы, на которые можно ответить «да» или «нет». Он хочет, задав не более чем по 6  вопросов каждой из сестёр, выяснить, верно ли, что загаданные числа различаются более чем на 500.  При этом ни одна из девочек не знает, что загадала другая, поэтому каждую сестру можно спрашивать только о её числе. Придумайте, как папе добиться цели.

Источники: ФЕ - 2020, 11.4 (см. www.formulo.org)

Подсказки к задаче

Подсказка 1

Сначала определите, в каком интервале находится число первой сестры. Задайте вопрос: «Твоё число > 500?». Если ДА -> проверяем b < a - 500. Если HЕT - проверяем b > а + 500. (1) Для а > 500: сравниваем х = а - 500 и у = b. (2) Для а < 500: сравниваем х = a + 500 и у = b Теперь задача свелась к сравнению x и у! Первая сестра знает х, вторая знает у, но не знают друг о друге.

Подсказка 2

Используйте бинарный поиск для сравнения х и у: (1) Начните с полного диапазона [1;1000] для у. (2) Задавайте вопросы вида «у > k?» (например, k=500, 250, 750). Назвав наш промежуток возможных варинтов отрезок [m;n] будем отсекать ровно половину варинтов, но как? Почему нам пригодится именно целая чать от (m+n)/2?

Подсказка 3

Пересчитываем все варианты. Последние 2 вопроса уточнят: Равны ли х и у (тогда |a - b| = 500), или одно число строго больше другого (тогда |a - b| > 500). Если х < у для а > 500 или х > у для а < 500, условие выполнено!

Показать доказательство

Пусть первая сестра загадала число a,  а вторая сестра — число b.  Нам нужно узнать, верно ли, что |a − b|> 500.  Мы не можем сравнить числа и просто раскрыть модуль, так как каждая из сестёр знает только своё число, поэтому рассмотрим, чему эквивалентно неравенство в зависимости от a:

1) Если a  больше пятисот, то b  должно быть меньше пятисот для того, чтобы неравенство выполнялось. То есть, если a >500,  то неравенство эквивалентно a− b> 500,  или же a− 500> b.  Таким образом, нам нужно сравнить два числа: x= a− 500  и y =b,  при этом первая сестра знает, чему равно x,  а вторая сестра знает, чему равно y.  Пусть множество всех возможных значений x  это множество X,  а множество всех возможных значений y  — это Y.  Сейчас X = [1;500],Y =[1;1000].  Тогда X ∩Y = [1;500].

2) Аналогично, если a≤ 500,  то неравенство эквивалентно b− a >500,  или же a+500< b.  То есть нам так же нужно сравнить два числа: x = a+500  и y = b,  при этом первая сестра знает, чему равно x,  а вторая сестра знает, чему равно y.  Пусть множество всех возможных значений x  это множество X,  а множество всех возможных значений y  — это Y.  Сейчас X = [501;1000],  Y = [1;1000].  Тогда X ∩Y = [501;1000].

Итак, в обоих случаях у нас получилось, что нужно сравнить два числа x  и y,  причём одно из чисел известно первой сестре, а другое второй, а пересечение множеств возможных значений этих чисел состоит из пятисот элементов. Зададим первой сестре вопрос: «Верно ли, что a >500?  » После этого введем x  и y  согласно случаям, расписанным выше, и будем сравнивать эти числа по одному алгоритму.

С каждым шагом будет уменьшать пересечение множеств X  и Y  в два раза. Например, второй вопрос будет: «Верно ли, что y >250?  » или «Верно ли, что y > 750?  » в зависимости от ответа на первый вопрос. Если на каком-то шаге X ∩Y = [m;n],  то мы спрашиваем, верно ли, что x  (или y,  в зависимости от того, кому задаем вопрос) больше, чем [     ]
 m-+-n .
   2  Таким образом, после второго вопроса в пересечении множеств будет X  и Y  будет 250 элементов, после третьего вопроса — 175 элементов, после четвёртого — 88, и так далее. Получается, после десятого вопроса в пересечении будет всего один элемент. Пусть это будет число z.

При этом, после каждого вопроса уменьшается так же количество элементов в X  или в Y.  Пусть после десятого вопроса X = [x1;z],Y =[z;y1]  (или наоборот, все элементы множества X  не меньше z,  а все элементы множества Y  — небольше). Последние два вопроса будут: «Верно ли, что x =z  » или «Верно ли, что y = z?  ». Если ответы на оба вопроса «да», то числа x  и y  равны, и загаданные сёстрами числа различаются ровно на 500. Если ответ на первый из этих вопросов «нет», то x< z ≤ y.  Аналогично, если ответ на второй вопрос «нет».

Рулетка
Вы можете получить скидку в рулетке!