Задания
Версия для печати и копирования в MS Word
Тип 24 № 68286
i

Тек­сто­вый файл со­дер­жит толь­ко за­глав­ные буквы ла­тин­ско­го ал­фа­ви­та (ABCZ). Опре­де­ли­те мак­си­маль­ную длину не­пре­рыв­но­го фраг­мен­та, ко­то­рый на­чи­на­ет­ся и за­кан­чи­ва­ет­ся одной и той же бук­вой из вто­рой по­ло­ви­ны ал­фа­ви­та (от N до Z) и не со­дер­жит эту букву внут­ри.

За­да­ние 24

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние на языке Python.

s = open('24.txt').readline()

maxi = 0

alf = ''.join(sorted('QWERTYUIOPASDFGHJKLZXCVBNM'))[13:]

for letter in alf:

maxi = max(maxi, len(max(s.split(letter)[1:-1], key=len) + letter*2))

print(maxi)

 

Ответ: 330.

 

При­ведём ре­ше­ние Сер­гея Донец на PascalABC.NET:

begin

var s := ReadAllText('24_68286.txt').Where(c -> c in 'A'..'Z').JoinIntoString;

var last := new Dictionary;

var maxLen := 0;

for var i := 1 to s.Length do

if s[i] in 'N'..'Z' then begin

if last.ContainsKey(s[i]) then maxLen := Max(maxLen, i - last[s[i]] + 1);

last[s[i]] := i;end;

writeln(maxLen);

end.


Аналоги к заданию № 68257: 68286 Все