(М. Шагитов) В файле содержится последовательность целых чисел. Элементы последовательности - четырёхзначные натуральные числа. Назовём два различных четырёхзначных числа неудачной парой, если они различаются только цифрами в двух разрядах. Найдите все тройки элементов последовательности, в которых есть хотя бы одна неудачная пара, а сумма всех чисел тройки больше минимальной суммы трёх различных элементов последовательности. В ответе запишите количество найденных троек, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение:
Python
nums = [int(x) for x in open('5204.txt')]
q, ms = 0, 0
tmp = sorted(list(set(nums)))
min_sum = tmp[0] + tmp[1] + tmp[2]
def is_unfort(a, b):
sa, sb = str(a), str(b)
res = 0
for i in range(4):
res += sa[i] != sb[i]
return res == 2
for a, b, c in zip(nums, nums[1:], nums[2:]):
if any(is_unfort(x, y) for x, y in ((a, b), (a, c), (b, c))) \
and a + b + c > min_sum:
q += 1
ms = max(ms, a + b + c)
print(q, ms)
Ответ: \(3098 \,\, 29764\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене