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

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

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

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

 

ID про­цес­са BВремя вы­пол­не­ния
про­цес­са B (мс)
ID про­цес­са(ов) A
140
230
311; 2
473

 

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

Ти­по­вой при­мер имеет ил­лю­стри­ро­ван­ный ха­рак­тер. Для вы­пол­не­ния за­да­ния ис­поль­зуй­те дан­ные из при­ла­га­е­мо­го файла.

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

За­да­ние 22

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

Ре­ше­ние.

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

 

ABCD
ID про­цес­са BВремя вы­пол­не­ния про­цес­са B (мс)ID про­цес­сов AВремя окон­ча­ния про­цес­са
120020
226026
428028
1229029
8321
5292
7315
10347
11309
15399
32213
173613
133210;12
143311;15
163314;15
9283;4
6255;7;8;15

 

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

f(8)  =  32 + f(1)  =  32 + 20  =  52;

f(5)  =  29 + f(2)  =  29 + 26  =  55;

f(7)  =  31 + f(5)  =  31 + 55  =  86;

f(10)  =  34 + f(7)  =  34 + 86  =  120;

f(11)  =  30 + f(9)  =  30 + 202  =  232;

f(15)  =  39 + f(9)  =  39 + 202  =  241;

f(3)  =  22 + f(13)  =  22 + 152  =  174;

f(17)  =  36 +  f(13)  =  36 + 152  =  188;

f(13)  =  32 + max(f(10), f(12))  =  32 + 120  =  152;

f(14)  =  33 + max(f(11), f(15))  =  33 + 241  =  274;

f(16)  =  33 + max(f(14), f(15))  =  33 + 274  =  307;

f(9)  =  28 + max(f(3), f(4))  =  28 + 174  =  202;

f(6)  =  25 + max(f(5), f(7), f(8), f(15))  =  25 + 241  =  266.

 

ABCD
ID про­цес­са BВремя вы­пол­не­ния про­цес­са B (мс)ID про­цес­сов AВремя окон­ча­ния про­цес­са
120020
226026
428028
1229029
832152
529255
731586
10347120
11309232
15399241
32213174
173613188
133210;12152
143311;15274
163314;15307
9283;4202
6255;7;8;15266

 

Ответ: 307.


Аналоги к заданию № 59700: 59727 59788 59815 Все

Источники: