Задача к ЕГЭ по информатике на тему «прочие прототипы» №15

Текстовый файл состоит не более чем из 104  строк, каждая из которых состоит не менее чем из 15 и не более чем из      103  заглавных букв A  , B  , C  , D  . Найдите количество строк, в которых либо изначально есть 15-символьный палиндром, либо его можно получить перестановкой пары символов из данной подстроки. Например, для строки BABDDAD  можно поменять символы B  и D  местами.

Для выполнения этого задания следует написать программу. Воспользуйтесь файлом «24-3.txt». В ответе запишите искомое количество строк.

def check(st):
    if st == st[::-1]:
        return True
    for i in range(15):
        for j in range(i + 1, 15):
            arr = list(st)
            arr[i], arr[j] = arr[j], arr[i]
            if arr == arr[::-1]:
                return True
    return False


f = open("24-3.txt")
ans = 0
for s in f:
    for j in range(len(s) - 14):
        if check(s[j:j + 15]):
            ans += 1
            break
print(ans)

Ответ: 616
Оцените статью
Я решу все!