(Е. Джобс) Текстовый файл состоит не более чем из \(10^6\) символов и содержит только буквы латинского алфавита. Определите максимальную длину подпоследовательности, которая состоит только из пар символов \(EA,\) только из троек символов \(NPC,\) или из пар символов \(EA\) и троек символов \(NPC.\) Например, в строке \(FASEAEANPCVESEAEAEADDNPC\) есть три подходящие подпоследовательности \(EAEANPC,\) \(EAEAEA\) и \(NPC.\) Максимальную длину \(7\) имеет первая из них. Ответ: \(7.\)
Решение:
Python
s = open('6606.txt').readline().strip()
dp = [0] * len(s)
if s[:2] == 'EA':
dp[1] = 2
if s[:3] == 'NPC':
dp[2] = 3
elif s[1:3] == 'EA':
dp[2] = dp[0] + 2
for i in range(3, len(s)):
if s[i-2:i+1] == 'NPC':
dp[i] = dp[i-3] + 3
elif s[i-1:i+1] == 'EA':
dp[i] = dp[i-2] + 2
print(max(dp))
Ответ: \(135\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене