Для решения данной задачи мы можем проанализировать, каких учеников можно объединить в цепочку на основании цвета их перчаток. Рассмотрим каждый случай:
Ученики с белыми перчатками на обеих руках (A ребят). Они могут соединиться друг с другом.
Ученики с белой перчаткой на правой руке и чёрной на левой (B ребят). Они могут соединиться только с теми, у кого на левой руке белая, а на правой чёрная перчатка. Однако в данном условии таких не рассматриваем, поскольку они не существуют. Эти ученики могут соединиться с теми, у кого обе правые белые.
Ученики с чёрной перчаткой на правой руке и белой на левой (C ребят). Похожая логика, как и в случае с B, эти ученики также могут соединяться в случае, если рядом находятся ребята с белыми перчатками на правой руке.
Ученики с чёрными перчатками на обеих руках (D ребят). Эти ребята могут соединиться друг с другом, и даже с B или C, если они расположены сейчас.
Теперь мы можем выяснить, как максимально соединить этих учеников:
- Мы имеем A ребят с белыми перчатками на обеих руках, и они могут объединиться в цепь длиной A.
- Ученики с черными перчатками могут объединиться между собой и с теми, у кого попарно есть один белый и один черный.
Чтобы вычислить максимальную длину цепочки, формула будет следующей:
Максимальная длина цепочки будет равна: \[ \text{Длина цепочки} = A + D + \min(B, C) \] где \(\min(B, C)\) учитывает, что между ними существует пара для соединения.
Результирующую формулу можно записать как:
def max_chain_length(A, B, C, D):
return A + D + min(B, C)
# Пример
A, B, C, D = map(int, input().strip().split())
print(max_chain_length(A, B, C, D))
Эта формула учитывает всех учеников и их возможности для соединения, создавая максимально возможную цепочку. Таким образом, вводите числа A, B, C, D и получите ответ.