сайты - меню - вход - но­во­сти


Задания
Версия для печати и копирования в MS Word

Сер­жант, сто­я­щий спра­ва в ше­рен­ге сол­дат, ко­ман­ду­ет: «НАЛЕ-ВО!» После этого часть сол­дат по­во­ра­чи­ва­ет­ся на­ле­во, а часть на­пра­во. Ока­зав­шись лицом к лицу, сол­да­ты раз­во­ра­чи­ва­ют­ся спина к спине. На каж­дый раз­во­рот сол­да­ты тра­тят по одной се­кун­де. Ка­ко­во наи­боль­шее время, за ко­то­рое n сол­дат (не счи­тая сер­жан­та) по­вер­нут­ся на­ле­во, имея в виду, что сам сер­жант не по­во­ра­чи­ва­ет­ся при оче­ред­ном виде лица еф­рей­то­ра, сто­я­ще­го перед ним, а еф­рей­тор все время за­бы­ва­ет, что уже видел гроз­ный взгляд сер­жан­та?

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

Ре­ше­ние.

Рас­смот­рим слу­чай, когда n=1, тогда сол­дат либо уже на­хо­дит­ся в пра­виль­ном по­ло­же­нии, либо при­хо­дит в него за 1 се­кун­ду. Если n=2, то пе­ре­би­рая все ва­ри­ан­ты на­чаль­но­го рас­по­ло­же­ния при­хо­дим к вы­во­ду, что мак­си­маль­ное время −3 се­кун­ды. Если n=3, то мак­си­маль­ное время  — 5 се­кунд. Сде­ла­ем пред­по­ло­же­ние ин­дук­ции, что для про­из­воль­но­го n время будет 2n минус 1. Пусть есть n плюс 1 сол­дат. За­ме­тим, что для дви­жу­щих­ся левее еф­рей­то­ра сол­дат ока­зы­ва­ет­ся, что после того как еф­рей­тор ока­зы­ва­ет­ся смот­ря­щим на­ле­во, сол­да­ты дей­ству­ют также как если бы еф­рей­тор по­сто­ян­но смот­рел на­ле­во, по­сколь­ку на сле­ду­ю­ще­го за еф­рей­то­ром сол­да­та по­ло­же­ние еф­рей­то­ра вли­я­ет толь­ко в тех слу­ча­ях, когда они стоят с еф­рей­то­ром лицом к лицу. Еф­рей­тор после каж­до­го сво­е­го раз­во­ро­та воз­вра­ща­ет­ся в «пра­виль­ное» по­ло­же­ние за одну се­кун­ду и не ме­ня­ет сво­е­го по­ло­же­ния до тех пор, пока сле­ду­ю­щий за ним сол­дат не при­дет в «не­пра­виль­ное» по­ло­же­ние, а для того, чтобы сто­я­щий за еф­рей­то­ром сол­дат вер­нул­ся в «не­пра­виль­ное» по­ло­же­ние также долж­но прой­ти не менее одной се­кун­ды.

Пусть еф­рей­тор из­на­чаль­но на­хо­дит­ся в «пра­виль­ном» по­ло­же­нии, тогда даль­ней­шая эво­лю­ция си­сте­мы из n сол­дат, сто­я­щих за ним будет про­хо­дить также как в слу­чае n сол­дат  — зa 2 n минус 1 се­кун­ду они вы­стро­ят­ся в «пра­виль­ном» по­ряд­ке. Если еф­рей­тор из­на­чаль­но не на­хо­дит­ся в пра­виль­ном по­ло­же­нии, то он по­тра­тит 1 се­кун­ду перед этим, чтобы при­дти в него. После того как n сол­дат вы­стро­и­лись пра­виль­но, в не­пра­виль­ном по­ло­же­нии может остать­ся еф­рей­тор, ко­то­ро­му нужно по­тра­тить 1 се­кун­ду, чтобы при­дти в пра­виль­ное по­ло­же­ние. Скла­ды­вая не­об­хо­ди­мое время по­лу­ча­ем, что n плюс 1 сол­дат вы­стро­ят­ся пра­виль­но за 2 n минус 1 плюс 1 плюс 1=2 левая круг­лая скоб­ка n плюс 1 пра­вая круг­лая скоб­ка минус 1 се­кун­ду. Чтобы по­ка­зать, что это время дей­стви­тель­но мак­си­маль­но (то есть оцен­ку 2 n минус 1 для n сол­дат нель­зя улуч­шить), при­ве­дем при­мер кон­фи­гу­ра­ции, ко­то­рая дает ровно 2 n минус 1 се­кун­ду. Обо­зна­чим за →, сол­да­та, смот­ря­ще­го на­пра­во, и за ← — сол­да­та, смот­ря­ще­го на­ле­во. Таким свой­ством об­ла­да­ет кон­фи­гу­ра­ция arrow arrow умно­жить на s arrow \leftarrow, где по­след­няя стрел­ка от­ве­ча­ет сер­жан­ту. Через n се­кунд си­сте­ма будет на­хо­дить­ся в со­сто­я­нии \longleftrightarrow \leftarrow \longrightarrow умно­жить на s \leftarrow имея в виду, что по­ло­же­ния сол­дат будут по­вто­рять­ся через од­но­го. После этого через каж­дую се­кун­ду слева будет уве­ли­чи­вать­ся ко­ли­че­ство сол­дат, смот­ря­щих «на­ле­во» и сто­я­щих при этом под­ряд. Про­цесс за­кон­чит­ся, когда слева ока­жет­ся n, смот­ря­щих «на­ле­во» сол­дат, сто­я­щих при этом под­ряд. Для этого нужно, чтобы после n-той се­кун­ды слева «при­рос­ло» ещё n минус 1 сол­дат, по­это­му после n-той се­кун­ды по­на­до­бить­ся еще n минус 1 се­кун­да. Таким об­ра­зом, сол­да­ты при­дут в «пра­виль­ное» по­ло­же­ние ровно через n плюс n минус 1=2 n минус 1 се­кун­ду. Таким об­ра­зом, мак­си­маль­ное время для n сол­дат не боль­ше, чем 2 n минус 1 се­кун­да, и не мень­ше, чем 2 n минус 1 се­кун­да.

 

Ответ: мак­си­маль­ное время для n сол­дат не боль­ше, чем 2 n минус 1 се­кун­да, и не мень­ше, чем 2 n минус 1 се­кун­да.