Задания
Версия для печати и копирования в MS Word
Тип 12 № 84706
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.

 

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

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

 

λ46801
q0λ, L, q1
q1λ, S, q10, L, q10, L, q11, L, q1

 

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

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

Ре­ше­ние.

Рас­смот­рим про­грам­му ис­пол­ни­те­ля МТ. Ис­пол­ни­тель на­хо­дит­ся в бли­жай­шей ячей­ке спра­ва от по­сле­до­ва­тель­но­сти. Сле­до­ва­тель­но, ис­пол­ни­тель вы­пол­нит ко­ман­ду влево. Как толь­ко ис­пол­ни­тель встре­тит сим­вол «λ», то про­грам­ма ис­пол­ни­те­ля за­кон­чит­ся.

Если встре­тит сим­вол «4», то за­ме­нит его на сим­вол «0» и пе­рей­дет в левую ячей­ку.

Если встре­тит сим­вол «6», то за­ме­нит его на сим­вол «0» и пе­рей­дет в левую ячей­ку.

Если встре­тит сим­вол «8», то за­ме­нит его на сим­вол «1» и пе­рей­дет в левую ячей­ку.

После об­ра­бот­ки 999 сим­во­лов Ис­пол­ни­тель оста­но­вит­ся. Так как, после вы­пол­не­ния про­грам­мы по­лу­чи­лась стро­ка, в ко­то­рой все со­сед­ние сим­во­лы раз­лич­ны, то в стро­ке долж­но быть че­ре­до­ва­ние сим­во­лов «0» и «1». Сле­до­ва­тель­но, в ис­ход­ной по­сле­до­ва­тель­но­сти долж­но быть че­ре­до­ва­ние сим­во­ла «8» и од­но­го лю­бо­го сим­во­ла из вы­бо­ра «4» или «6».

Так как нам не­об­хо­ди­мо опре­де­лить ми­ни­маль­ное воз­мож­ное зна­че­ние суммы цифр в ис­ход­ной стро­ке, то в ис­ход­ной стро­ке долж­ны быть толь­ко сим­во­лы «4» и «8», при этом, для умень­ше­ния суммы, по­сле­до­ва­тель­ность долж­на на­чи­нать­ся и за­кан­чи­вать­ся сим­во­лом «4». Сле­до­ва­тель­но, в стро­ке будет 500 сим­во­лов «4» и 499 сим­во­лов «8».

Ми­ни­маль­ное воз­мож­ное зна­че­ние суммы цифр в ис­ход­ной стро­ке 500 · 4+499 · 8=5992

 

Ответ: 5992.