В некоторой стране 100 городов. Каждый из них связан двусторонним авиасообщением с тремя другими городами. При этом из любого города можно добраться в любой другой, возможно, с пересадками. Вася хочется добраться из города А в город Б. Какого наименьшего числа перелётов ему гарантированно хватит?
Перед нами схема авиалиний страны, в которой, чтобы добраться из города 1 в город 100 не хватит 71 перелёта. Основная часть схемы состоит из повторяющихся блоков по 4 города, см. города 5, 6, 7 и 8.
Для того, чтобы попасть из города 1 в город 5, нужно 2 перелёта, затем из города 5 в город 93 по 3 перелёта за каждые 4 города, то есть 66 перелётов, и ещё 4 перелёта, чтобы добраться из города 93 в город 100, итого, минимум 72.
С другой стороны, 72 перелёта всегда достаточно, чтобы добраться от любого города до любого.
Чтобы доказать это, поместим какой-нибудь начальный город на уровень 0, соединённые с ним (будем называть их соседними) города — на уровень 1, их оставшихся соседей — на уровень 2, и так далее. Каждый раз на уровень k + 1 мы помещаем города, соседние с городами на уровне k, если им ранее не сопоставлен другой уровень. (Приведённый выше пример нарисован как раз по этому принципу).
Каждый город на уровне k может быть соединён только с городами на уровнях k − 1, k и k + 1.
Это значит, что на каждых трёх подряд идущих уровнях в сумме хотя бы 4 города. Кроме того, на двух первых уровнях не менее 4 городов, как и на двух последних.
Это означает, что у нас не может быть более
Ответ: 72.