Анонимно
Мистер Фокс сегодня был на кружке по программированию, где узнал про двудольные графы. Этого ему показалось мало и он решил придумать и изучить “трехдольные” графы. Мистер Фокс нарисовал на листе бумаги три непересекающихся круга и отметил внутри них точки (точки – это вершины его графа, в одном круге лежат вершины из одной “доли”). Затем он провел несколько ребер – линий, которые соединяли только точки из разных кругов. Какое наибольшее количество ребер он мог провести, если всего в его графе 40 вершин и нет двух ребер, соединяющих одну и ту же пару вершин?
Ответ
Анонимно
Пусть в "долях" a <= b <= c вершин, и проведены все рёбра между разными "долями". Так как из каждой вершины, лежащей в первой "доле", можно провести только b + c рёбер, из второй доли — 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
Нужны такие 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
Новые вопросы по Информатике
Студенческий
2 минуты назад
5 - 9 классы
2 минуты назад
5 - 9 классы
3 минуты назад
10 - 11 классы
6 минут назад
5 - 9 классы
7 минут назад
Нужен ответ
10 - 11 классы
2 месяца назад
Студенческий
2 месяца назад
Студенческий
2 месяца назад
Студенческий
2 месяца назад
Студенческий
2 месяца назад