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

В файле 24.txt в первой строке находится строка s, состоящая не более чем из 107  строчных букв английского алфавита. Во второй строке находится строка t, состоящая не более чем из 107  строчных букв английского алфавита. В третьей строке находится строка p, состоящая не более чем из 107  строчных букв английского алфавита. Каждая операция выглядит следующим образом: вы выбираете любой символ из строки p  , удаляете его из p  и вставляете в любую позицию строки s  (вы можете вставить этот символ куда захотите: в начало s  , в конец или между любыми двумя подряд идущими символами). Вам нужно выполнить несколько (возможно, ноль) операций так, чтобы строка s  стала равна строке t  . Вам гарантируется, что это возможно. Запишите в ответе взвешенную сумму букв, которые необходимо удалить из p  и вставить в s  .

За каждую букву ′a′ добавьте к сумме 1  , за каждую ′b′ − 2  , ...  , ′z′ − 26  .

Решение на Python:

f = open(’24.txt’)
ans = 0
s, t, p = f.readline(), f.readline(), f.readline()
ABS = sorted(’qwertyuiopasdfghjklzxcvbnm’)
a_t, a_s = [0] * 26, [0] * 26
for i in range(26):
    a_t[i] = t.count(ABS[i])
    a_s[i] = s.count(ABS[i])
for i in range(26):
    ans += (a_t[i] - a_s[i]) * (i + 1)
print(ans)

 

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