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

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

Задать свой вопрос
Нелли Обыхвостова
А сколько будет для 43?
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(40//3 + 1):
    for b in range(a, (40 - a)//2 + 1):
      c = 40 - a - b
      value = a * b + a * c + b * c
      max_value = max(max_value, value)
 
print(max_value)

Ответ. 533
Игорь
Спасибо. с:
Никита Федьдман
а для 41 сколько будет?
Борис Елищев
А сколько будет для 43?
Пикунов Никита
для 43 - 616
Дмитрий Гесюк
а для 41?
Юлия Маловецкая
а для 41 то сколько??????????????????
, оставишь ответ?
Имя:*
E-Mail:


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

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

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

Войти на сайт