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

Текстовый файл «Задание_49_ДЗ»содержит только заглавные буквы латинского алфавита (ABC…Z). Текст разбит на строки различной длины. Необходимо найти строку, содержащую наибольшее количество пар соседних букв, которые стоят в таком же порядке как и в алфавите (например, AB, BC, CD и т.д.; в цепочке ABC две таких пары). Если таких строк несколько, надо взять ту, которая в файле встретилась раньше.

Выведите максимальное количество пар, встреченных среди всех строк, а также без пробелов и разделителей букву из данной строки, которая встречается чаще всего.

Пример. Исходный файл:

ZCQABA

ZALMAC

CRACUT

В этом примере в первой и второй строках по одной подходящей паре (AB и LM), в третьей таких пар нет. Берём первую строку, т.к. она раньше встречается в файле. В этой строке чаще других встречается буква А. Если бы она была не единственной, то выбрали ту букву, что раньше стоит в алфавите. В ответе для этого примера надо записать 1A.

f = open(’Задание_49_ДЗ.txt’)
 
count = 0
 
maxim = 0
 
s = «»
 
for i in f:
 
    count = 0
 
    for j in range(len(i) — 1):
 
        if ord(i[j]) + 1 == ord(i[j + 1]):
 
            count += 1
 
    if count > maxim:
 
        maxim = count
 
        s = i
 
alph = sorted(list(«qwertyuiopasdfghjklzxcvbnm».upper()))
 
a = [0] * 26
 
for i in range(len(alph)):
 
    a[i] = s.count(alph[i])
 
print(maxim, alph[a.index(max(a))])

 

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