Текстовый файл состоит не более чем из строк, каждая из которых состоит не менее чем из 10 и не более чем из
заглавных букв
,
,
,
. Найдите количество строк, в которых либо изначально есть 10-символьный палиндром, либо его можно получить перестановкой пары символов из данной подстроки. Например, для строки
можно поменять символы
и
местами.
Для выполнения этого задания следует написать программу. Воспользуйтесь файлом «Задание_47_ДЗ». В ответе запишите искомое количество строк.
def perest(arr):
if arr == arr[::-1]:
return True
for i in range(10):
for j in range(i + 1, 10):
b = arr.copy()
b[i], b[j] = b[j], b[i]
if b == b[::-1]:
return True
return False
n = 1000
f = open("Задание_47_ДЗ.txt")
ans = 0
for i in range(n):
s = f.readline()
for j in range(len(s) - 9):
arr = list(s[j:j + 10])
if perest(arr):
ans += 1
break
print(ans)
Ответ: 934