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

В файле со­дер­жит­ся ин­фор­ма­ция о со­во­куп­но­сти N вы­чис­ли­тель­ных про­цес­сов, ко­то­рые могут вы­пол­нять­ся па­рал­лель­но или по­сле­до­ва­тель­но. Будем го­во­рить, что про­цесс B за­ви­сит от про­цес­са A, если для вы­пол­не­ния про­цес­са B не­об­хо­ди­мы ре­зуль­та­ты вы­пол­не­ния про­цес­са A. В этом слу­чае про­цес­сы могут вы­пол­нять­ся толь­ко по­сле­до­ва­тель­но.

Ин­фор­ма­ция о про­цес­сах пред­став­ле­на в файле в виде таб­ли­цы. В пер­вом столб­це таб­ли­цы ука­зан иден­ти­фи­ка­тор про­цес­са (ID), во вто­ром столб­це таб­ли­цы  — время его вы­пол­не­ния в мил­ли­се­кун­дах, в тре­тьем столб­це пе­ре­чис­ле­ны с раз­де­ли­те­лем «;» ID про­цес­сов, от ко­то­рых за­ви­сит дан­ный про­цесс. Если про­цесс яв­ля­ет­ся не­за­ви­си­мым, то в таб­ли­це ука­за­но зна­че­ние 0.

Ти­по­вой при­мер ор­га­ни­за­ции дан­ных в файле:

 

ID про­цес­са BВремя вы­пол­не­ния
про­цес­са B (мс)
ID про­цес­са(ов) A
10140
10230
1031101; 102
1047103

 

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

Вы­пол­ни­те за­да­ния, ис­поль­зуя дан­ные из файла ниже:

За­да­ние 22

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

Ре­ше­ние.

От­сор­ти­ру­ем дан­ные в таб­ли­це так, чтобы все не­за­ви­си­мые про­цес­сы ока­за­лись в на­ча­ле таб­ли­цы и любой про­цесс был рас­по­ло­жен после всех про­цес­сов, от ко­то­рых он за­ви­сит. Также в таб­ли­цу до­ба­вим стол­бец «Время окон­ча­ния про­цес­са» и за­пи­шем туда дли­тель­но­сти не­за­ви­си­мых про­цес­сов.

 

Далее рас­счи­та­ем время вы­пол­не­ния остав­ших­ся про­цес­сов:

f(104)  =  4 + f(103)  =  4 + 14  =  18;

f(105)  =  18 + f(103)  =  18 + 14  =  32;

f(106)  =  1 + f(104)  =  1 + 18  =  19;

f(108)  =  3 + f(107)  =  3 + 33  =  36;

f(110)  =  14 + f(109)  =  14 + 8  =  22;

f(111)  =  6 + f(109)  =  6 + 8  =  14;

f(113)  =  11 + f(111)  =  11 + 14  =  25;

f(103)  =  2 + max(f(101), f(102))  =  2 + 12  =  14;

f(107)  =  1 + max(f(105), f(106))  =  1 + 32  =  33;

#f(1112)  =  15 + max(f(110), f(111))  =  15 + 22  =  37.

 

По­стро­им диа­грам­му вы­пол­не­ния каж­до­го про­цес­са.

За­ме­тим, что время окон­ча­ния ра­бо­ты всех про­цес­сов ми­ни­маль­но, это озна­ча­ет, что про­цес­сы нель­зя дви­гать.

Мак­си­маль­ная про­дол­жи­тель­ность от­рез­ка вре­ме­ни (в мс), в те­че­ние ко­то­ро­го воз­мож­но од­но­вре­мен­ное вы­пол­не­ние мак­си­маль­но­го ко­ли­че­ства про­цес­сов при усло­вии, что все не­за­ви­си­мые друг от друга про­цес­сы могут вы­пол­нять­ся па­рал­лель­но и время окон­ча­ния ра­бо­ты всех про­цес­сов ми­ни­маль­норавна 5.

 

Ответ: 5.

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ−2025 по ин­фор­ма­ти­ке