Учитель принёс в класс две коробки, в одной из которых лежат только левые перчатки, а в другой только правые. Перчатки могут быть либо белыми, либо чёрными. Каждый ученик не глядя взял по одной перчатке из каждой коробки и надел их на руки.
Когда все ученики надели перчатки, оказалось, что у A ребят на обеих руках надеты белые перчатки, у B ребят на правой руке надета белая перчатка, а на левой чёрная, у C ребят, напротив, на правой руке надета чёрная перчатка, а на левой белая, и, наконец, у D ребят на обеих руках чёрные перчатки.
Теперь учитель попросил учеников взяться за руки и выстроиться в как можно более длинную цепочку, при этом: каждый ученик должен стоять лицом к учителю; ученики могут взяться за руки, только если цвет перчаток на их руках совпадает.
Определите длину максимально возможной цепочки, которую могут образовать ученики.
Формат входных данных
В четырёх строках вводятся четыре числа A, B, C, D (0≤A, B, C, D≤108), описанные в условии задачи.
Формат выходных данных
Выведите одно целое число длину самой длинной цепочки, в которую могут выстроиться школьники, соблюдая условия задания учителя.
Система оценки
В этой задаче 20 тестов, каждый из которых проверяется и оценивается независимо в 5 баллов.
Замечание
В первом примере можно выстроить в цепочку всех четверых детей:
Во втором примере можно соединить только троих:
Ввод
1
1
1
1
Вывод
4
Ввод
0
3
1
0
Вывод
3
Ответы
Для решения этой задачи можно использовать следующий подход:
Суммируйте числа A и D, чтобы получить количество учеников с белыми перчатками на обеих руках и черными перчатками на обеих руках.
Суммируйте числа B и C, чтобы получить количество учеников с белой перчаткой на правой руке и черной перчаткой на левой руке и наоборот.
Найдите максимальное из двух полученных чисел и прибавьте к нему 1, чтобы получить длину максимально возможной цепочки.
Ниже приведен код на Python, который реализует этот подход:
# Введите числа A, B, C и D
A = int(input())
B = int(input())
C = int(input())
D = int(input())
# Найдите количество учеников с белыми перчатками на обеих руках и черными перчатками на обеих руках
white_and_black = A + D
# Найдите количество учеников с белой перчаткой на правой руке и черной перчаткой на левой руке и наоборот
black_and_white = B + C
# Найдите максимальное из двух чисел и прибавьте к нему 1
max_length = max(white_and_black, black_and_white) + 1
# Выведите результат
print(max_length)
Этот код сначала вводит числа A, B, C и D. Затем он вычисляет количество учеников с белыми перчатками на обеих руках и черными перчатками на обеих руках, а также количество учеников с белой перчаткой на правой руке и черной перчаткой на левой руке и наоборот. Наконец, он находит максимальное из двух чисел и прибавляет к нему 1, чтобы получить длину максимально возможной цепочки, и выводит этот результат.