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

Ис­пол­ни­тель МТ пред­став­ля­ет собой чи­та­ю­щую и за­пи­сы­ва­ю­щую го­лов­ку, ко­то­рая может пе­ре­дви­гать­ся вдоль бес­ко­неч­ной го­ри­зон­таль­ной ленты, раз­делённой на рав­ные ячей­ки. В каж­дой ячей­ке на­хо­дит­ся ровно один сим­вол из ал­фа­ви­та ис­пол­ни­те­ля (мно­же­ство сим­во­лов  A = левая фи­гур­ная скоб­ка a_0, a_1, \ldots, a_n минус 1 пра­вая фи­гур­ная скоб­ка пра­вая круг­лая скоб­ка , вклю­чая спе­ци­аль­ный пу­стой сим­вол a0.

Время ра­бо­ты ис­пол­ни­те­ля де­лит­ся на дис­крет­ные такты (шаги). На каж­дом такте го­лов­ка МТ на­хо­дит­ся в одном из мно­же­ства до­пу­сти­мых со­сто­я­ний  Q = левая фи­гур­ная скоб­ка q_0, q_1, \ldots, q_m минус 1 пра­вая фи­гур­ная скоб­ка . В на­чаль­ный мо­мент вре­ме­ни го­лов­ка на­хо­дит­ся в на­чаль­ном со­сто­я­нии q0.

На каж­дом такте го­лов­ка обо­зре­ва­ет одну ячей­ку ленты, на­зы­ва­е­мую те­ку­щей ячей­кой. За один такт го­лов­ка ис­пол­ни­те­ля может за­ме­нить сим­вол в те­ку­щей ячей­ке (или оста­вить сим­вол не­из­мен­ным) и пе­ре­ме­стить­ся в ячей­ку спра­ва или слева от те­ку­щей (или остать­ся в той же ячей­ке). После каж­до­го такта го­лов­ка пе­ре­хо­дит в новое со­сто­я­ние или остаётся в преж­нем со­сто­я­нии.

Про­грам­ма ра­бо­ты ис­пол­ни­те­ля МТ задаётся в таб­лич­ном виде.

 

a0a1...an – 1
q0ко­ман­дако­ман­да...ко­ман­да
q1ко­ман­дако­ман­да...ко­ман­да
...............
qm – 1ко­ман­дако­ман­да...ко­ман­да

 

В пер­вой стро­ке пе­ре­чис­ле­ны все воз­мож­ные сим­во­лы в те­ку­щей ячей­ке ленты, в пер­вом столб­це  — воз­мож­ные со­сто­я­ния го­лов­ки. На пе­ре­се­че­нии i-⁠й стро­ки и j-⁠го столб­ца на­хо­дит­ся ко­ман­да, ко­то­рую вы­пол­ня­ет МТ, когда го­лов­ка обо­зре­ва­ет j-⁠й сим­вол, на­хо­дясь в i-⁠м со­сто­я­нии. Если пара «сим­вол–со­сто­я­ние» не­воз­мож­на, то клет­ка для ко­ман­ды остаётся пу­стой.

Каж­дая ко­ман­да со­сто­ит из трёх эле­мен­тов, раз­делённых за­пя­ты­ми: пер­вый эле­мент  — за­пи­сы­ва­е­мый в те­ку­щую ячей­ку сим­вол ал­фа­ви­та (может сов­па­дать с тем, ко­то­рый там уже за­пи­сан). Вто­рой эле­мент  — один из четырёх сим­во­лов «L», «R», «N», «S». Сим­во­лы «L» и «R» озна­ча­ют сдвиг в левую или пра­вую ячей­ки со­от­вет­ствен­но, «N»  — от­сут­ствие сдви­га, «S»  — за­вер­ше­ние ра­бо­ты ис­пол­ни­те­ля МТ после вы­пол­не­ния те­ку­щей ко­ман­ды. Сдвиг про­ис­хо­дит после за­пи­си сим­во­ла в те­ку­щую ячей­ку. Тре­тий эле­мент  — новое со­сто­я­ние го­лов­ки после вы­пол­не­ния ко­ман­ды.

На­при­мер, ко­ман­да 0, L, q3 вы­пол­ня­ет­ся сле­ду­ю­щим об­ра­зом: в те­ку­щую ячей­ку за­пи­сы­ва­ет­ся сим­вол «0», затем го­лов­ка сдви­га­ет­ся в со­сед­нюю слева ячей­ку и пе­ре­хо­дит в со­сто­я­ние q3.

 

Вы­пол­ни­те за­да­ние.

На ленте ис­пол­ни­те­ля МТ в со­сед­них ячей­ках за­пи­са­на по­сле­до­ва­тель­ность из N > 300 сим­во­лов, ко­то­рая может вклю­чать толь­ко трой­ки, шестёрки и де­вят­ки, рас­по­ло­жен­ные в про­из­воль­ном по­ряд­ке. Ячей­ки спра­ва и слева от по­сле­до­ва­тель­но­сти за­пол­не­ны пу­сты­ми сим­во­ла­ми «λ». В на­чаль­ный мо­мент вре­ме­ни го­лов­ка рас­по­ло­же­на в бли­жай­шей ячей­ке слева от по­сле­до­ва­тель­но­сти. Про­грам­ма для ис­пол­ни­те­ля:

 

λ36987
q0λ, R, q1
q1λ, S, q17, R, q18, R, q13, R, q1

 

Из­вест­но, что после вы­пол­не­ния про­грам­мы по­лу­чи­лась стро­ка с пя­ти­знач­ной сум­мой цифр S, со­дер­жа­щая не менее 100 чётных цифр.

Опре­де­ли­те мак­си­маль­но воз­мож­ное зна­че­ние вы­ра­же­ния S + N.

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

Ре­ше­ние.

Рас­смот­рим про­грам­му для ис­пол­ни­те­ля. Ис­пол­ни­тель про­хо­дит по стро­ке и за­ме­ня­ет сим­вол «3» на сим­вол «7», сим­вол «6» на «8», сим­вол «9» на «3». После вы­пол­не­ния про­грам­мы в стро­ке могут остать­ся толь­ко сим­во­лы «3», «7» и «8».

Мак­си­маль­ная пя­ти­знач­ная сумма цифр 99999. Чтобы вы­ра­же­ние S + N было мак­си­маль­ным, возь­мем мак­си­маль­ные зна­че­ния S и N. Чтобы N была мак­си­маль­но, то надо брать ми­ни­маль­ные зна­че­ния в ячей­ках, чтобы они да­ва­ли ми­ни­маль­ный при­рост S, но при этом в стро­ке долж­но быть не менее 100 чет­ных цифр.

Един­ствен­ная чет­ная цифра - это 8. Возь­мем их ми­ни­маль­ное ко­ли­че­ство - 100. Тогда на осталь­ные числа стро­ки оста­ет­ся 99999-8 · 100 = 99199 сумма цифр.

Далее будем брать ми­ни­маль­ные воз­мож­ные числа (чтобы их ко­ли­че­ство было мак­си­маль­ным). Ми­ни­маль­ное число в стро­ке это «3». Если раз­де­лить 99199 на 3, то мак­си­маль­ное ко­ли­че­ство 33066, а сумма таких троек 99198.

До суммы 99999 не хва­та­ет 1. Если за­ме­нить одну «3» на «7», то по­лу­чим 100002, пе­ре­бор. За­ме­ним две цифры «3» на одну «3», по­лу­чим 99999.

Тогда мак­си­маль­ное N это 100 цифр «8», 33064 цифр «3» и одна цифра «7», всего 33165 цифр.

А мак­си­маль­ная S это 8 · 100 + 33064 · 3 + 1 · 7=99999.

Тогда мак­си­маль­но воз­мож­ное зна­че­ние вы­ра­же­ния S + N = 99999 + 33165 = 133164.

 

Ответ: 133164.


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