(Е. Джобс) Текстовый файл состоит не более чем из \(10^6\) символов и содержит только заглавные буквы латинского алфавита. Найдите максимальную длину подстроки, состоящую из пар символов \(XX, \, YY\) или \(ZZ\) в произвольном порядке, при этом ни одна пара не должна повторяться два раза подряд. Например, в строке \(YYZZZZYYXX\) искомая подстрока \(ZZYYXX.\)
Решение:
Python
s = open('7437.txt').readline().strip()
dp = [0] * len(s)
arr = ['XX', 'YY', 'ZZ']
if s[:2] in arr:
dp[1] = 2
if s[1:3] in arr:
dp[2] = 2
for i in range(3, len(s)):
if s[i-1:i+1] in arr:
if s[i-1:i+1] != s[i-3:i-1]:
dp[i] = dp[i-2] + 2
else:
dp[i] = 2
print(max(dp))
Ответ: \(52\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене