Задача 091

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

Подсказка

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

Решение

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

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

Задача 092

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

Подсказка

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

Решение

Ответ: Нет.

Решение. Понятно, что после каждой из указанных операций остается связный граф, а в конце должно получиться дерево. Вершины дерева можно раскрасить в два цвета так, чтобы у всех его ребер были концы разных цветов. Если мы будем по очереди добавлять убранные ребра (сначала — убранное последним, потом — предпоследним и т.д.), то это свойство не нарушится (т.к. 4 — четное число). Но вершины полного графа, который по условию был в начале, так раскрасить нельзя.

Задача 093

В компании из 100 человек среди любых 50 есть одно и то же (ненулевое) количество пар знакомых. Какое наименьшее количество пар знакомых может быть среди всех 100?

Подсказка

Рассмотрим любую группу из 51 человека. Если выкинуть любого из них, среди оставшихся будет одно и то же число знакомств. Поэтому в этой группе каждый имеет среди остальных 50 одно и то же число знакомых.

Решение

Ответ: 99 \times 50=4950.

Решение. Рассмотрим любую группу из 51 человека. Если выкинуть любого из них, среди оставшихся будет одно и то же число знакомств. Поэтому в этой группе каждый имеет среди остальных 50 одно и то же число знакомых. Пусть оно равно a. Тогда общее число знакомств среди 50 человек должно равняться 51 a / 2-a. Значит, значение а будет одним и тем же для всех компаний из 51 человека. Возьмем любого человека Ч. Среди остальных 99 есть либо 50 знакомых с ним, либо 50 незнакомых с ним. Добавляя их к Ч, получим компанию, где в первом случае a=50, а во втором a=0. Но второй случай невозможен по условию, а в первом случае, очевидно, каждый знаком с каждым. Отсюда получаем ответ.

Задача 094

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

Подсказка

Заметим, что четность числа горящих лампочек в любой момент такая же, как в начальном состоянии. Устроим систему из 2004 выключателей следующим образом: одна лампочка А является выделенной, и каждый выключатель подключен к ней и еще какой-то из других лампочек (разные выключатели — к разным лампочкам).

Решение

Заметим, что четность числа горящих лампочек в любой момент такая же, как в начальном состоянии. Устроим систему из 2004 выключателей следующим образом: одна лампочка А является выделенной, и каждый выключатель подключен к ней и еще какой-то из других лампочек (разные выключатели — к разным лампочкам). Если в начальном состоянии горит четное число лампочек, то погасим их, последовательно выключая их и переключая лампочку А (в итоге все лампочки, включая А, будут погашены). Если же в начальном состоянии горит нечетное число лампочек, то включим все остальные (их четное число, поэтому в итоге лампочка А тоже будет включена). Докажем, что меньшего числа выключателей не хватит. Действительно, при меньшем количестве выключателей граф лампочек несвязен, поэтому есть или хотя бы одна четная компонента связности, или хотя бы три нечетных компоненты. В четной компоненте достаточно рассмотреть такое начальное состояние, в котором горит только одна лампочка (и с ним уже ничего нельзя сделать), а на двух нечетных компонентах достаточно зажечь 0 и 1 лампочек соответственно — тогда одну из компонент можно будет только погасить, а другую — только зажечь.

Задача 095

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

Подсказка

Рассмотрим граф, вершинами которого являются участники турнира, а ребрами — пары участников, незнакомых между собой. Если в этом графе есть треугольник A B C, то в любой пятерке A B C D E участники D и E должны быть знакомы между собой, и каждый из них должен быть знаком с двоими из тройки A B C.

Решение

Рассмотрим граф, вершинами которого являются участники турнира, а ребрами — пары участников, незнакомых между собой. Если в этом графе есть треугольник A B C, то в любой пятерке A B C D E участники D и E должны быть знакомы между собой, и каждый из них должен быть знаком с двоими из тройки A B C. Тогда пар знакомых получается не меньше, чем 97 \times 96 / 2+2 \times 97=97 \times 50=4850. Дальше будем считать, что треугольников нет. Пусть есть цикл A B C D длины 4. Добавляя сюда произвольного участника E, находим, что он дружит со всеми участниками из этого цикла, A дружит с C и B дружить с D. Таким образом, каждый цикл длины 4 в нашем графе является компонентой связности. Заметим далее, что в нашем графе нет незамкнутых путей длины 4: если есть такой путь A B C D E, то в пятерке A B C D E нет двух троек попарно знакомых. Поэтому нет и циклов длины больше 4 , то есть каждая компонента связности нашего графа — либо цикл длины 4, либо дерево. Но в такой ситуации ребер у этого графа не больше, чем вершин, то есть не больше 100. Соответственно, пар знакомых не меньше, чем 100 \times 99 / 2-100=4850.

Задача 096

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

Подсказка

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

Решение

Ответ: 148.

Решение. Пример на 148. Построим ориентированный граф, вершинами которого будут числа от 1 до 100 , а каждое из ребер связывает номер места, на котором стоит том с данным номером, с самим этим номером. Поскольку из каждой вершины этого графа выходит ровно одно ребро, и в каждую его вершину входит ровно одно ребро, все его вершины и ребра разбиваются на непересекающиеся ориентированные циклы. Цикл, в который входит красный том, назовем особым, прочие — обычными. Возьмем любой обычный цикл a \rightarrow b \rightarrow c \rightarrow \ldots \rightarrow d \rightarrow a и добавим в него красный том (пусть его номер равен r ): a \rightarrow r \rightarrow b \rightarrow c \rightarrow \ldots \rightarrow d \rightarrow a. Затем последовательно поменяем местами красный том со всеми остальными элементами получившегося цикла. В итоге все элементы исходного обычного цикла встанут на предписанные им места, а красный том вернется на исходное место. Проделаем описанную процедуру со всеми обычными циклами длины, не меньшей 2 , а напоследок «прокрутим» особый цикл, после чего все тома окажутся на своих местах, т.е. будут идти в порядке возрастания. При этом на приведение в порядок каждого цикла длины n, кроме особого, у нас ушла n+1 перестановка, а на особый цикл —n-1 перестановка, а всего — 100+k-2 перестановки, где k — число циклов длины не меньше 2 . Поскольку циклов длины 2 и больше не более 50, мы совершили не больше 148 перестановок. Оценка. Пусть получилось 50 циклов длины 2. На приведение в порядок каждого обычного цикла нужно минимум 3 перестановки: убрать один том, поставить на его место другой и поставить на место другого первый. Еще одна перестановка нужна на особый цикл. Итого 49 \times 3+1=148.

Задача 097

Среди 20 людей есть пары знакомых. Известно, что среди любых пяти людей не более трёх знакомств. Докажите, что можно выбрать10 людей, среди которых нет знакомых.

Подсказка

Если в графе знакомств есть треугольник, то из остальных 17 вершин не выходят ребра. Пусть треугольников нет.

Решение

Если в графе знакомств есть треугольник, то из остальных 17 вершин не выходят ребра. Пусть треугольников нет. Заметим, что каждая компонента связности графа знакомств содержит не более 4 вершин (иначе там есть пять вершин, связанные минимум 4 ребрами). Такие компоненты могут иметь вид одиночного ребра, цепи из двух или трех ребер и «»ежа»» из трех ребер, исходящих из одной вершины. Легко проверить, что в каждой такой компоненте можно отметить не менее половины вершин так, чтобы никакие две отмеченные вершины не были связаны ребром. Сделав это, получим не менее 10 отмеченных вершин, попарно не соединенных между собой.

Задача 098

В графе на 20 вершинах степень каждой вершины не более 3 . Какое наибольшее количество циклов длины 4 может быть в этом графе?

Подсказка

Возьмём любое ребро графа. Пусть оно входит в какой-либо цикл длины 4. Выбросим из этого цикла ребро, не имеющее с нашим общих вершин. Получится маршрут длины 3, где взятое нами ребро является средним из трёх, и цикл по этому маршруту восстанавливается однозначно.

Решение

Ответ: 27. Решение. Напомним, что через K_{3,3} обозначается полный двудольный граф на 6 вершинах, то есть граф, три вершины которого можно покрасить в один цвет, а три — в другой так, что любые две одноцветные вершины будут соединены ребром, а любые две разноцветные — нет. В графе K_{3,3} 9 циклов длины 4, потому что цвета вершин в цикле чередуются, и по две вершины каждого цвета в K_{3,3} можно выбрать 3 \times 3=9 способами. Отсюда получается пример на 27 циклов: достаточно взять три графа K_{3,3}, а из двух оставшихся вершин рёбер не проводить.

Покажем, что больше 27 циклов длины 4 в нашем графе не бывает Возьмём любое его ребро. Пусть оно входит в какой-либо цикл длины 4. Выбросим из этого цикла ребро, не имеющее с нашим общих вершин. Получится маршрут длины 3, где взятое нами ребро является средним из трёх, и цикл по этому маршруту восстанавливается однозначно. Но каждый из двух концов взятого нами ребра принадлежит, кроме него, максимум ещё двум рёбрам. Поэтому в нашем графе есть максимум 2 \times 2=4 маршрута длины 3 , где взятое нами ребро является средним из трёх. Таким образом, через каждое ребро нашего графа проходит не более 4 циклов длины 4.

Назовём ребро хорошим, если оно входит ровно в 4 цикла длины 4 . Покажем, что если в компоненте связности нашего графа есть хотя бы одно хорошее ребро, то эта компонента имеет вид K_{3,3}. В самом деле, в этом случае из каждой вершины нашего ребра должно выходить ещё 2 ребра, и каждый из вторых концов рёбер, выходящих из одной вершины, должен соединяться с каждым из вторых концов рёбер, выходящих из другой вершины. Получается K_{3,3}, а наружу рёбра из него не ведут, потому что степень каждой вершины K_{3,3} и так уже равна 3.

Пусть в нашем графе ровно k \leq 2 компонент связности вида K_{3,3}. Тогда в нём 20-6 k вершин, входящих в «плохие» компоненты, где через каждое ребро проходит не более 3 циклов длины 4. В этих компонентах не более 3 \times(20-6 k) / 2=30-9 k рёбер и, стало быть, не более 3 \times(30-9 k) / 4=(90-27 k) / 4 циклов длины 4, а всего в графе этих циклов не больше, чем 9 k+(90-27 k) / 4=22,5+9 k / 4 \leq 22,5+18 / 4=27. Если же в графе 3 компоненты связности вида K_{3,3}, то в этих компонентах 27 циклов длины 4 , а две оставшиеся вершины, не будучи связанными с остальными 18 -ю, новых циклов длины 4 добавить не могут. Итак, циклов длины 4 у нас всегда не более 27.

Задача 099

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

Подсказка

Отметим в нашем графе G любую вершину a и построим дерево поиска в глубину T с корнем a.

Решение

Отметим в нашем графе G любую вершину a и построим дерево поиска в глубину T с корнем a.

Пронумеруем вершину a числом 0 и будем добавлять в дерево и нумеровать вершины по следующему принципу: если в дереве есть вершины с номерами от 1 до k, то рассмотрим вершину с наибольшим номером, из которой выходит хотя бы одно ребро в вершину, не принадлежащую уже построенному дереву, добавим любое из таких рёбер в дерево, и новой вершине присвоим номер k+1. Все ребра дерева T ориентируем от меньшего номера к большему.

Пусть t(x) — номер вершины x при построении дерева T. Докажем, что все требования задачи выполняются. Очевидно, в остовном дереве графа на 2009 вершинах как раз 2008 ребер, так что мы поставили 2008 стрелочек. Пусть u v — ребро исходного графа G, причем t(u)<t(v). Если u v входит в T, всё в порядке. В противном случае вершина v подвешена в T к вершине v_{1} \neq u. Так как в графе G вершина v смежна с u, то по построению дерева t\left(v_{1}\right)>t(u), и t(v)>t\left(v_{1}\right). Рассмотрим момент, когда добавлялась вершина v_{1}. Так как в этот момент в дереве еще нет смежной с u вершины v, то по построению вершина v_{1} подвешена в T к вершине v_{2}, где t\left(v_{1}\right)>t\left(v_{2}\right) \geq t(u). И так далее, пока очередная вершина v_{m} не окажется совпадающей с u (это случится, потому что номера t\left(v_{i}\right) монотонно убывают, и все они не меньше, чем t(u) ). Искомый путь u=v_{m} \rightarrow v_{m-1} \rightarrow \ldots \rightarrow v_{1} \rightarrow v построен.

Задача 100

В графе 80 вершин и 20 ребер. Разрешается взять любую вершину, стереть все выходящие из нее ребра и соединить ее со всеми вершинами, с которыми она была не соединена. Докажите, что такими операциями можно получить граф, в котором не менее 900 треугольников.

Подсказка

Пусть K — множество концов этих 20 ребер, и |K|=k. Предположим, что k \leq 35. Тогда рассмотрим 80-k \geq 45 остальных вершин и применим к каждой из них операцию, описанную в условии задачи (порядок операций не имеет значения).

Решение

Пусть K — множество концов этих 20 ребер, и |K|=k. Предположим, что k \leq 35. Тогда рассмотрим 80-k \geq 45 остальных вершин и применим к каждой из них операцию, описанную в условии задачи (порядок операций не имеет значения). В результате нетрудно понять, что для каждого из наших 20 ребер появится 80-k треугольников с этим ребром (и каждой из не входящих в K вершин). Итого мы имеем 20(80-k) \geq 20 \cdot 45=900 треугольников.

Пусть k \geq 36. Всего у 20 ребер 40 концов и легко понять, что есть не менее 12 ребер, концы которых не совпадают с другими концами наших 20 ребер. Выберем 5 таких ребер — пусть это ребра a_{1} b_{1}, \ldots, a_{5} b_{5}. Обозначим через S множество, состоящие из вершин a_{1}, \ldots, a_{5}, b 1, \ldots b 5 и произвольных 40 вершин не входящих в K. Применим операцию ко всем 50 вершинам множества S. Тогда на каждом из ребер a_{1} b_{1}, \ldots, a_{5} b_{5} образуется по 30 треугольников (со всеми вершинами, не входящими в S ), а на каждом из 15 оставшихся ребер — по 50 треугольников (со всеми вершинами множества S ). Итого получается 5 \cdot 30+15 \cdot 50=150+750=900 треугольников.