Мистер Фокс сейчас был на кружке по программированию, где вызнал про

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

Задать свой вопрос
1 ответ
Пусть в "частях" a lt;= b lt;= c вершин, и проведены все рёбра между разными "частями". Так как из каждой верхушки, лежащей в первой "доле", можно провести только b + c рёбер, из 2-ой части a + c рёбер, из третьей a + b рёбер, то общее количество рёбер одинаково (a * (b + c) + b * (a + c) + c * (a + b))/2 = ab + ac + bc (разделение на 2 появляется из-за того, что каждое ребро подсчитывается два раза).Необходимы такие a, b, c, при которых значение выражения ab + bc + ac будет очень. Наибольшее значение можно отыскать перебором.
python 3:max_value = 0  for a in range(41//3 + 1):    for b in range(a, (41 - a)//2 + 1):      c = 41 - a - b      value = a * b + a * c + b * c      max_value = max(max_value, value) print(max_value)
Ответ. 560.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

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

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт