Задача 086

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

Подсказка

a) Условие означает, что граф — дерево. Петя выбирает произвольную вершину. От каждой вершины существует ровно один путь в выбранную. Все рёбра на этом пути он ориентирует в сторону выбранной вершины.

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

Решение

Рассмотрим граф, вершинами которого являются города, а рёбрами — дороги.
a) Условие означает, что граф — дерево. Петя выбирает произвольную вершину. От каждой вершины существует ровно один путь в выбранную. Все рёбра на этом пути он ориентирует в сторону выбранной вершины.

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

База — простые циклы. Пусть в простом цикле A_{1} A_{2} \ldots A_{n} как-то расставлены стрелки на рёбрах и турист смог сделать ход, пойдя из A_{1} в A_{2}. Вася будет разворачивать стрелки перед ним. Поэтому турист не сможет идти в обратную сторону. Допустим, турист смог дойти до A_{1}. Тогда перед ним разворачивают стрелку, и ему некуда идти. Петя проиграл.

Шаг индукции. Граф не является простым циклом. Выберем в нём цикл С минимальной длины. Ясно, что C — простой и не содержит ребёр внутри себя. Поэтому есть вершины вне C. Выберем из них вершину V с максимальным расстоянием до C. Обозначим граф без V буквой G. Ясно, что G связен и содержит цикл.

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

Задача 091

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

Подсказка

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

Решение

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

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

Задача 092

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

Подсказка

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

Решение

Ответ: Нет.

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

Задача 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.

Задача 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.

Задача 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 треугольников.