Задача 017

Известно, что некоторые сенаторы между собой в ссоре. Проверено, однако, что как бы мы не посадили их всех или любую группу (3 или более) из них по кругу, найдется пара соседей не в ссоре. Весь сенат усадили за круглый стол. Если два соседа не в ссоре, они могут поменяться местами. Докажите, что сенаторы могут расположиться в любом круговом порядке (порядки, полученные поворотом, не различаются).

Подсказка

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

Решение

Докажем индукцией по числу сенаторов. База. Для трех сенаторов есть только два круговых порядка. Они получаются друг из друга пересадкой двух соседей, которые не в ссоре. Шаг индукции. Найдется сенатор А, который в ссоре не более чем с одним сенатором (иначе часть сенаторов можно будет рассадить по кругу так, что у каждого соседями будут враги). Пусть Б в ссоре с А (а если А дружит со всеми, то Б — любой другой). По предположению индукции, если А уйдет из-за стола, то есть способ рассадить оставшихся в нужном круговом порядке. Однако это можно сделать и при наличии А. Придвинем А к Б (это можно сделать) и попросим А и Б взяться за руки. Считая эту пару сенатором Б, рассадим всех в нужном порядке вышеуказанным способом. Теперь можно А посадить на нужное место, последовательно «отодвигая» его от Б.

Задача 019

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

Подсказка

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

Решение

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

Предположим, что в G есть встречные ребра между вершинами v и w. Тогда в G есть цикл v w, и в G-\{v, w\} есть цикл, так как в нем из каждой вершины выходит хотя бы одно ребро. Следовательно, в G нет встречных ребер.

Предположим, что в G есть ребро u v такое, что ни из какой вершины x \in V(G) не выходят ребра в обе вершины u и v. Тогда стянем ребро u v : удалим в G вершины u и v и добавим новую вершину w, в которую входят ребра из тех вершин, из которых входили ребра в u и v, и выходят ребра в те вершины, в которые выходили ребра из v. Обозначим полученный граф через G^{\prime}. В G^{\prime} n-1 вершина и степень каждой вершины равна 3 , поэтому для него выполнено индукционное предположение. Но тогда и в G есть два непересекающихся цикла, так как если цикл в G^{\prime} проходил через w, то в G этот проход можно заменить на проход через v или u v.

Осталось разобрать случай, когда каждое ребро имеет «предка», то есть вершину, из которой выходят ребра в оба конца этого ребра. Пусть v — вершина наименьшей входящей степени (обозначим эту степень d^{-}(v) ). Очевидно, d^{-}(v) \leq 3.

(1) d^{-}(v)=0. Тогда ребро, исходящее из v, не имеет предка.
(2) d^{-}(v)=1. Тогда ребро, входящее в v, не имеет предка.
(3) d^{-}(v)=2. Пусть есть ребра u v и w v. Тогда u должно быть предком для w v, а w — для u v, но тогда есть ребра v w и w v, а этот случай мы уже разобрали.
(4) d^{-}(v)=3. Тогда все вершины имеют входящую степень 3. Пусть в вершину x входят ребра u x, v x, w x. Предком каждого из этих ребер должна быть u, v или w. Тогда в индуцированном подграфе на вершинах u, v, w в каждую вершину входит хотя бы одно ребро, а так как в G нет встречных ребер, вершины u, v, w образуют цикл длины 3. Заметим, что вершины, в которые ведут ребра из x, также образуют цикл длины 3 (так как мы можем обратить все ребра и повторить те же рассуждения). B G нет встречных ребер, поэтому мы нашли два непересекающихся цикла.

Задача 036

В стране 100 городов и 1000 дорог; каждая дорога соединяет ровно 2 города. Известно, что из любого города можно добраться в другой (возможно, через некоторые другие города) не больше, чем за 8 ч. Мужик на желтой «Калине» хочет объехать все города и вернуться в исходный город. За какое минимальное время он гарантированно может это сделать?

Подсказка

Для построение примеры выделите одну из вершин. А часть рёбер сделайте очень длинными.

Решение

Ответ: 99.8 часов.

Решение: Оценка. Граф городов и дорог не полный, значит, кратчайший путь между какими-то двумя городами проходит через какой-то город. Пусть, например, кратчайший путь от x_{1} до x_{3} проходит через x_{2}. Тогда, цикл x_{1} \rightarrow x_{2} \rightarrow x_{3} \rightarrow \ldots \rightarrow x_{99} \rightarrow x_{100} требует не более 99 \cdot 8 часов, так как переезд от x_{1} к x_{3} и все остальные переходы требуют не более 8 часов каждый.

Пример. Все города связаны с x_{2} дорогами, требующими 4 часов каждая. Остальные города либо связаны дорогами, либо нет, чтобы общее число дорог равнялось 1000. Все дороги между ними требуют 8 часов. Легко видеть, что оценка достигается.

Задача 043

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

Подсказка

Допустим, утверждение задачи неверно для какого-либо графа на 2008 вершинах. Будем говорить, что вершина A портит вершину B, если вершину A можно перекрасить так, чтобы вершина B, которая не была плохой, стала плохой. Заметим, что если степень вершины не равна 2 , её можно испортить не более чем одним способом.

Решение

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

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

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

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

Задача 045

Известно, что каждая вершина графа с четным числом вершин имеет четную степень. Докажите, что количество остовных деревьев в этом графе четно. (Остовное дерево — это подграф исходного графа, содержащий все его вершины и являющийся деревом.)

Подсказка

Построим новый граф, вершинами которого будут остовные деревья нашего графа.

Решение

Пусть G — наш граф, обозначим через 2 k количество его вершин. Построим новый граф H, вершинами которого будут остовные деревья графа G. Вершины, соответствующие деревьям T_{1} и T_{2} соединим ребром тогда и только тогда, когда в деревьях T_{1} и T_{2} совпадают 2 k-2 ребра (то есть одно дерево получается из другого заменой одного ребра). Рассмотрим любое остовное дерево T графа G и рассмотрим любое его ребро e. Уберем ребро e, вершины дерева T распадутся на две компоненты связности V и U. Так как степень каждой вершины графа G четна, то в графе G четное число ребер с одним концом в V и другим концом в V. Заменив ребро e на любое другое ребро между V и U, мы получим все остовные деревья, получающиеся из T заменой ребра e на какое-то другое ребро. Количество таких деревьев нечетно. То же самое верно для любого ребра дерева T. Так как в T нечетное число ребер, то из соответствующей дереву T вершины графа H выходит нечетное число ребер. Это означает, что количество вершин графа H (то есть, остовных деревьев графа G ) четно.

Задача 050

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

Подсказка

Пусть M_{1} D_{1}, \ldots, M_{2015} D_{2015} — наши пары. Каждую девочку D_{i} соединим с другой девочкой, знакомой с M_{i}. В результате получится граф на вершинах D_{1}, \ldots, D_{2015} с 2015 рёбрами.

Решение

Пусть M_{1} D_{1}, \ldots, M_{2015} D_{2015} — наши пары. Каждую девочку D_{i} соединим с другой девочкой, знакомой с M_{i}. В результате получится граф на вершинах D_{1}, \ldots, D_{2015} с 2015 рёбрами. Нам нужно покрасить этот граф правильным образом в три цвета, это и будет искомая покраска девочек. Рассмотрим компоненту связности построенного графа, пусть в ней n вершин, тогда и рёбер в ней тоже n (Мы провели по одному ребру из каждой вершины этой компоненты связности, из вершин вне компоненты рёбра в нее не входят). Если есть вершина степени 1 , удалим ее, эту вершину можно будет легко докрасить после покраски остальных вершин компоненты. После серии таких операций наша компонента связности будет иметь минимальную степень вершины 2 , а значит, это будет простой цикл, который мы легко покрасим в три цвета.

Задача 064

Докажите, что у любого конечного множества A натуральных чисел существует подмножество B, удовлетворяющее следующим условиям: если b_{1}, b_{2} \in B различны, то ни одно из чисел b_{1}, b_{2} не делится на другое и ни одно из чисел b_{1}+1, b_{2}+1 не делится на другое, а также для любого a \in A найдётся b \in B такое, что или b делится на a, или a+1 делится на b+1.

Подсказка

Рассмотрим двуцветный ориентированный граф, у которого вершинами будут элементы множества A, и от вершины b к вершине a идет синяя стрелка, если b делится на a, и красная, если a+1 делится на b+1.

Решение

Рассмотрим двуцветный ориентированный граф, у которого вершинами будут элементы множества A, и от вершины b к вершине a идет синяя стрелка, если b делится на a, и красная, если a+1 делится на b+1. Тогда мы хотим выбрать независимое подмножество вершин B такое, что в любую вершину множества A \backslash B ведет стрелка из B.

Поделим вершины на три группы: исходные, выбранные и хорошие (вершины будут перемещаться из группы в группу, но никакая вершина на может находиться в двух группах одновременно). Изначально все вершины находятся в группе исходных. Выберем среди них такие, в которые не входит ни одна синяя стрелка и отправим их в группу выбранных. Тогда, в силу транзитивности синих стрелок, в каждую исходную вершину ведет хотя бы одна синяя стрелка из выбранных вершин. Если так случилось, что между выбранными вершинами нет красных стрелок, то, приняв за B множество выбранных вершин, мы решим задачу. Если же красные стрелки есть, то найдем все выбранные вершины, в которые ведет хотя бы одна красная стрелка из других выбранных, и отправим их в группу хороших. После этого, могло оказаться, что в некоторые исходные вершины не идет синей стрелки из выбранных. В этом случае добавим в множество выбранных те вершины из исходных, в которые синие стрелки приходят только из хороших вершин. После этого снова отправим в группу хороших те из выбранных вершин, в которые ведет хотя бы одна красная стрелка из других выбранных. В силу транзитивности теперь уже красных стрелок, в любую хорошую вершину все еще ведет хотя бы одна красная стрелка из выбранных. Будем продолжать такие перемещения (из исходных в выбранные, из выбранных в хорошие). Заметим, что если в некоторый момент мы не смогли уменьшить множество исходных вершин, то задача решена,а так как изначально там конечное число вершин, этот момент обязательно наступит.

Задача 069

В стране 100 городов. Некоторые из них соединены дорогами, причем между любыми двумя городами есть не более одной дороги. Города пронумерованы числами от 1 до 100. Петя совершил 100 путешествий по дорогам страны, каждый раз начиная путешествия в разных городах. Все свои путешествия он осуществляет по следующему правилу. Оказавшись в каком-либо городе A, Петя находит среди всех городов, соединенных с A, город B с наименьшим номером. Если город B уже был посещен в этом путешествии, или из A вообще нет ни одной дороги, путешествие тут же заканчивается в A. B противном случае, Петя перемещается из A в B и продолжает путешествие по этому же правилу. Оказалось, что совершив 100 путешествий, Петя посетил все города страны поровну раз. При каком наибольшем количестве дорог в стране такое возможно?

Подсказка

Рассмотрим город номер 100. Он может быть посещен в двух случаях: 1) мы начали путешествие с него; 2) мы начали путешествие с города i<100 и город i соединен только с городом 100.

Решение

Ответ: 2500.

Решение. Оценка. Рассмотрим город номер 100. Он может быть посещен в двух случаях: 1) мы начали путешествие с него; 2) мы начали путешествие с города i<100 и город i соединен только с городом 100. Предположим, что все города были посещены хотя бы три раза. Тогда есть хотя бы два города, которые соединены только с городом 100 . Но наибольший из таких городов может быть посещен только один раз (когда путешествие начинается в нем). Если все города посещены 1 раз, то в стране вообще нет дорог, что нас не устраивает. Значит, все города посещены ровно два раза. Удалим город 100 и город i, соединенный только с ним. Мы удалили не более 98+1 дорог. Для оставшейся части страны всё ещё верно утверждение, что при путешествиях с началом в каждом из городов, все города посещаются поровну раз, так как города i и 100 посещались ровно 2 раза в путешествиях с началом i и 100. Повторяя такие рассуждения, мы будем удалять пары городов, удаляя не более 97,95, \ldots, 1 дорог. Значит, изначально в стране было не более 1+3+\ldots+99= 2500 дорог. Пример: при i \leqslant 50 город i соединим с городами с номерами хотя бы 101-i. Также соединим попарно города с номерами, большими 50. Тогда начиная в городе i мы перемещаемся в город 101-i и останавливаемся. Значит, все города будут посещены дважды. И количество ребер равно 1+2+\ldots+50+50 \cdot 49 / 2=2500.

Задача 075

В некоторой компании любые двое знакомых имеют ровно x общих знакомых, любые двое незнакомых имеют ровно у общих знакомых, Дима и Саша имеют не поровну знакомых ( x, y — натуральные числа). Найдите все пары ( x, y ), при которых так может быть.

Подсказка

Рассмотрим пару знакомых человек: назовем их u и v. В множестве членов компании, отличных от u и v, выделим три множества: A — множество общих знакомых u и v ; B — множество знакомых с v, но не с u ; C множество знакомых с u, но не с v.

Решение

Ответ. ( x, 1 ) для любого x.

Решение. Рассмотрим пару знакомых человек: назовем их u и v. В множестве членов компании, отличных от u и v, выделим три множества: A — множество общих знакомых u и v ; B — множество знакомых с v, но не с u ; C множество знакомых с u, но не с v.

Если V_{1}, V_{2} — два непересекающихся множества членов компании, то через e\left(V_{1}\right) обозначаем количество пар знакомых в V_{1}, через e\left(V_{1}, V_{2}\right) — количество пар знакомых, один из которых в V_{1}, а второй — в V_{2}. Количество элементов множества M обозначаем через |M|.
У каждого человека w \in A имеется ровно x-1 знакомых в множестве A \cup C (это его общие знакомые с u, отличные от v ). Просуммируем эти количества по всем w \in A. Получаем |A| \cdot(x-1)=2 e(A)+e(A, C) (здесь каждая пара знакомств внутри A посчитана дважды, а каждое знакомство между A и C — один раз). Аналогично, |A| \cdot(x-1)=2 e(A)+e(A, B). Поэтому e(A, B)=e(A, C).

Далее, каждый человек в B имеет y-1 соседей в A \cup C (это его общие знакомые с u, кроме v ); Суммируя эти количества, получаем (y-1)|B|=e(A, B)+e(B, C). Аналогично, (y-1)|C|=e(A, C)+e(C, B). Поскольку e(A, B)=e(A, C) и e(B, C)= e(C, B), мы приходим к выводу, что (y-1)|B|=(y-1)|C|, а тогда |B|=|C| или y=1.

Если y>1, то мы получили, что любые два знакомых человека имеют одинаковое число знакомых. А поскольку любые два либо знакомы, либо имеют общего знакомого, то такое невозможно, так как Дима и Саша имеют разное число знакомых.

Значит y=1. Осталось показать, что такое действительно бывает. Рассмотрим компанию из 2 x+3 человек, выделим в ней две группы по x+1 человеку и пусть оставшийся — Дима. Пусть Дима знаком со всеми, и внутри каждой из групп также все знакомы со всеми. Тогда для любых двух незнакомых людей (это люди из разных групп) у них есть единственный общий знакомый — Дима. У Димы с человеком из группы ровно x общих знакомых — это остальные люди этой группы. У любых двух людей из одной группы x общих знакомых — остальные люди этой группы и Дима. Также, Дима единственный, кто знаком со всеми, значит у них с Сашей разное число знакомых.

Задача 077

В кружке n ребят, причём любые двое ребят либо дружат, либо враждуют. Оказалось, что у каждого из ребят ровно 10 врагов в этом же кружке, причём если A дружит с B, но враждует с C, то B и C враждуют. Найдите все возможные значения n.

Подсказка

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

Решение

Ответ. 11, 12, 15, 20.

Решение. Если все враги одного из двух друзей являются врагами другого, то у любых двух друзей одни и те же враги. При этом друг моего друга — мой друг, иначе у меня был бы враг, который не враждует с моим другом. Поэтому все кружковцы разбиваются на группы, где каждый дружит с каждым, причём в каждой группе на 10 человек меньше, чем во всём кружке. Пусть в каждой группе k человек. Тогда 10 должно делиться на k, а всего ребят в кружке — 10+k. С другой стороны, если m — делитель числа 10 , то кружок, состоящий из m+1 группы размера k=10 / m, где любые двое из одной группы дружат, а из разных групп — враждуют, удовлетворяет условию задачи Перебирая теперь делители числа 10, получаем ответ.