Текстовый файл состоит не более чем из \(10^6\) символов и содержит только заглавные буквы латинского алфавита (ABC…Z). Текст разбит на строки различной длины. Необходимо найти строку, содержащую наибольшее количество букв Q (если таких строк несколько, надо взять ту, которая в файле встретилась позже). Определите, какая буква встречается в этой строке реже всего (но присутствует!). Если таких букв несколько, надо взять ту, которая стоит раньше в алфавите. Запишите в ответе эту букву, а затем – сколько раз она встречается во всем файле.
Пример. Исходный файл:
ZZQAQB QAVQAB BAQTUB
В этом примере в первой и второй строках по две букву Q, в третьей – одна. Берём вторую строку, т.к. она стоит в файле позже. В этой строке реже других встречаются буквы V и B (по одному разу), выбираем букву B, т. к. она раньше стоит в алфавите. В ответе для этого примера надо записать B4, так как во всех строках файла буква B встречается 4 раза.
Решение:
Python
m = 0
stmp = ''
for line in open('3781.txt'):
t = line.strip().count('Q')
if t >= m:
m = t
stmp = line.strip()
ch = {}
for c in stmp:
ch[c] = ch.get(c, 0) + 1
m = min(ch.values())
ch = sorted([c for c in ch if ch[c] == m])
ans = 0
for line in open('3781.txt'):
ans += line.count(ch[0])
print(f'{ch[0]}{ans}')
Ответ: \(C38412\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене