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

Текстовый файл состоит не более чем из 106  заглавных букв латинского алфавита. Гарантируется, что количество символов в строке четное. Вам нужно заменить некоторые латинские буквы на другие таким образом, чтобы из символов строки можно было составить палиндром. Например, для строки AVRORA можно заменить O на V или V на O, тогда из данного набора букв мы сможем составить палиндром.

Для выполнения этого задания следует написать программу. Воспользуйтесь файлом «Задание_46_ДЗ». В ответе запишите минимальное количество замен, которые нужно сделать.

f = open(«Задание_46_ДЗ.txt»)
 
s = f.read()
 
# используем индексы буквы в таблице ASCII
 
# A — 65, Z — 90
 
ar = [0] * 100
 
for i in range(len(s)):
 
    ar[ord(s[i])] += 1
 
# Если какой-то символ встречается нечетное число раз
 
# то 1 экземпляр этого символа можно поменять на другой символ,
 
# который тоже встречается нечетное число раз
 
# так как строка имеет четную длину, если найдется символ,
 
# который встречается
 
# нечетное число раз, то к нему всегда найдется пара
 
ans = 0
 
for i in range(65, 91):
 
    if ar[i] % 2 == 1:
 
        ans += 1
 
# мы получили количество символов, которые встретились
 
# нечетное число раз,
 
# мы можем поменять ровно половину из них, а другую не трогать
 
print(ans//2)

 

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