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

Текстовый файл words.txt содержит только заглавные буквы латинского алфавита (ABC…Z). Текст разбит на строки различной длины. Необходимо найти строку, содержащую наибольшее количество пар соседних букв, которые стоят в обратном алфавитном порядке (например, BA, CB, DC и т.д.; в цепочке CBA две таких пары). Если таких строк несколько, надо взять ту, которая в файле встретилась позже.

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

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

ZCQBAA

ZAMLZZ

CRACTU

В этом примере в первой и второй строках по одной подходящей паре (BA и ML), в третьей таких пар нет. Берём вторую строку, т.к. она позже встречается в файле. В этой строке чаще других встречается буква Z. В ответе для этого примера надо записать 1Z.

f = open("words.txt")

maxim = 0
ind = 0
lines = file.readlines()
for i in range(len(lines)):
    line = lines[i]
    count = 0
    for j in range(len(line) - 1):
        if ord(line[j]) == (ord(line[j + 1]) + 1):
            count += 1
            if count >= maxim:
                maxim = count
                ind = i

num = 0
symb = ""
alf = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for i in alf:
    if lines[ind].count(i) >= num:
        num = lines[ind].count(i)
        symb = i
print(maxim, symb, sep=’’)

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