Тема 22. Программирование – циклы, условия
22.01 Многопроцессорные системы
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела программирование – циклы, условия
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#59461

В компьютерной системе необходимо выполнить некоторое количество вычислительных процессов, которые могут выполняться параллельно или последовательно. Для запуска некоторых процессов необходимы данные, которые получаются как результаты выполнения одного или двух других процессов – поставщиков данных. Все независимые процессы (не имеющие поставщиков данных) запускаются в начальный момент времени. Если процесс B (зависимый процесс) получает данные от процесса A (поставщика данных), то выполнение процесса B начинается сразу же после завершения процесса A. Количество одновременно выполняемых процессов может быть любым, длительность процесса не зависит от других параллельно выполняемых процессов. В таблице представлены идентификатор (ID) каждого процесса, его длительность и ID поставщиков данных для зависимых процессов.

 

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

 

Вложения к задаче
Показать ответ и решение

Для нашего удобства удалим первую строку таблицы. Далее предлагаю изменить нумерацию ID процессов.

n=100
a=[input() for i in range(n)]
for i in range(n):
    s=a[i].split()
    id_old=s[0]
    id_new=str(i+1)
    for j in range(n):
        a[j]=a[j].replace(id_old,id_new)

for i in range(n):
    print(a[i])

Преобразуем данные третьего столбца в готовые формулы для Excel таблицы.

n=100
for i in range(1,n+1):
    s=input().split(’;’)
    if s[0]==’0’:
        formula = ’=B’ + str(i)
    else:
        formula = ’=МАКС(’
        for x in s:
            formula = formula+’D’+x+’;’
        formula=formula[:-1] +’) + B’+ str(i)
    print(formula)

С помощью специальной вставки (Ctrl+Alt+V) вставляем готовые формулы в таблицу.

Теперь посчитаем количесство завершенных процессов за первые 144 мс, используя следующую формулу =СЧЁТЕСЛИ(D1:D100;«=177").

 

Ответ: 62

Ошибка.
Попробуйте повторить позже

Задача 2#59459

В компьютерной системе необходимо выполнить некоторое количество вычислительных процессов, которые могут выполняться параллельно или последовательно. Для запуска некоторых процессов необходимы данные, которые получаются как результаты выполнения одного или двух других процессов – поставщиков данных. Все независимые процессы (не имеющие поставщиков данных) запускаются в начальный момент времени. Если процесс B (зависимый процесс) получает данные от процесса A (поставщика данных), то выполнение процесса B начинается сразу же после завершения процесса A. Количество одновременно выполняемых процессов может быть любым, длительность процесса не зависит от других параллельно выполняемых процессов. В таблице представлены идентификатор (ID) каждого процесса, его длительность и ID поставщиков данных для зависимых процессов.

 

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

 

Вложения к задаче
Показать ответ и решение

Для нашего удобства удалим первую строку таблицы. Далее предлагаю изменить нумерацию ID процессов.

n=100
a=[input() for i in range(n)]
for i in range(n):
    s=a[i].split()
    id_old=s[0]
    id_new=str(i+1)
    for j in range(n):
        a[j]=a[j].replace(id_old,id_new)

for i in range(n):
    print(a[i])

Преобразуем данные третьего столбца в готовые формулы для Excel таблицы.

n=100
for i in range(1,n+1):
    s=input().split(’;’)
    if s[0]==’0’:
        formula = ’=B’ + str(i)
    else:
        formula = ’=МАКС(’
        for x in s:
            formula = formula+’D’+x+’;’
        formula=formula[:-1] +’) + B’+ str(i)
    print(formula)

С помощью специальной вставки (Ctrl+Alt+V) вставляем готовые формулы в таблицу.

Теперь посчитаем количесство завершенных процессов к определенному времени, используя следующую формулу =СЧЁТЕСЛИ(D1:D100;«=97").

 

Ответ: 97

Ошибка.
Попробуйте повторить позже

Задача 3#59458

В компьютерной системе необходимо выполнить некоторое количество вычислительных процессов, которые могут выполняться параллельно или последовательно. Для запуска некоторых процессов необходимы данные, которые получаются как результаты выполнения одного или двух других процессов – поставщиков данных. Все независимые процессы (не имеющие поставщиков данных) запускаются в начальный момент времени. Если процесс B (зависимый процесс) получает данные от процесса A (поставщика данных), то выполнение процесса B начинается сразу же после завершения процесса A. Количество одновременно выполняемых процессов может быть любым, длительность процесса не зависит от других параллельно выполняемых процессов. В таблице представлены идентификатор (ID) каждого процесса, его длительность и ID поставщиков данных для зависимых процессов.

 

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

 

Вложения к задаче
Показать ответ и решение

Для нашего удобства удалим первую строку таблицы. Далее предлагаю изменить нумерацию ID процессов.

n=100
a=[input() for i in range(n)]
for i in range(n):
    s=a[i].split()
    id_old=s[0]
    id_new=str(i+1)
    for j in range(n):
        a[j]=a[j].replace(id_old,id_new)

for i in range(n):
    print(a[i])

Преобразуем данные третьего столбца в готовые формулы для Excel таблицы.

n=100
for i in range(1,n+1):
    s=input().split(’;’)
    if s[0]==’0’:
        formula = ’=B’ + str(i)
    else:
        formula = ’=МАКС(’
        for x in s:
            formula = formula+’D’+x+’;’
        formula=formula[:-1] +’) + B’+ str(i)
    print(formula)

С помощью специальной вставки (Ctrl+Alt+V) вставляем готовые формулы в таблицу.

В ячейку F1 записываем формулу «=МАКС(D1:D100)» и получаем ответ:445.

 

Ответ: 445

Ошибка.
Попробуйте повторить позже

Задача 4#59457

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D:D)» и получаем ответ: 5565.

PIC

 

Ответ: 5565

Ошибка.
Попробуйте повторить позже

Задача 5#59456

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D:D)» и получаем ответ: 6365.

PIC

 

Ответ: 6365

Ошибка.
Попробуйте повторить позже

Задача 6#59455

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D:D)» и получаем ответ: 4730.

PIC

 

Ответ: 4730

Ошибка.
Попробуйте повторить позже

Задача 7#59454

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D:D)» и получаем ответ: 196.

PIC

 

Ответ: 196

Ошибка.
Попробуйте повторить позже

Задача 8#59453

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D:D)» и получаем ответ: 153.

PIC

 

Ответ: 153

Ошибка.
Попробуйте повторить позже

Задача 9#59452

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D:D)» и получаем ответ: 204.

PIC

 

Ответ: 204

Ошибка.
Попробуйте повторить позже

Задача 10#59451

В компьютерной системе необходимо выполнить некоторое количество вычислительных процессов, которые могут выполняться параллельно или последовательно. Для запуска некоторых процессов необходимы данные, которые получаются как результаты выполнения одного или двух других процессов – поставщиков данных. Все независимые процессы (не имеющие поставщиков данных) запускаются в начальный момент времени. Если процесс B (зависимый процесс) получает данные от процесса A (поставщика данных), то выполнение процесса B начинается сразу же после завершения процесса A. Количество одновременно выполняемых процессов может быть любым, длительность процесса не зависит от других параллельно выполняемых процессов. В таблице представлены идентификатор (ID) каждого процесса, его длительность и ID поставщиков данных для зависимых процессов.

 

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

 

Вложения к задаче
Показать ответ и решение

Для нашего удобства удалим первую строку таблицы. Далее предлагаю изменить нумерацию ID процессов.

n=100
a=[input() for i in range(n)]
for i in range(n):
    s=a[i].split()
    id_old=s[0]
    id_new=str(i+1)
    for j in range(n):
        a[j]=a[j].replace(id_old,id_new)

for i in range(n):
    print(a[i])

Преобразуем данные третьего столбца в готовые формулы для Excel таблицы.

n=100
for i in range(1,n+1):
    s=input().split(’;’)
    if s[0]==’0’:
        formula = ’=B’ + str(i)
    else:
        formula = ’=МАКС(’
        for x in s:
            formula = formula+’D’+x+’;’
        formula=formula[:-1] +’) + B’+ str(i)
    print(formula)

С помощью специальной вставки (Ctrl+Alt+V) вставляем готовые формулы в таблицу.

Теперь посчитаем количесство завершенных процессов за первые 144 мс, используя следующую формулу =СЧЁТЕСЛИ(D1:D100;«=144").

 

Ответ: 66

Ошибка.
Попробуйте повторить позже

Задача 11#59450

В компьютерной системе необходимо выполнить некоторое количество вычислительных процессов, которые могут выполняться параллельно или последовательно. Для запуска некоторых процессов необходимы данные, которые получаются как результаты выполнения одного или двух других процессов – поставщиков данных. Все независимые процессы (не имеющие поставщиков данных) запускаются в начальный момент времени. Если процесс B (зависимый процесс) получает данные от процесса A (поставщика данных), то выполнение процесса B начинается сразу же после завершения процесса A. Количество одновременно выполняемых процессов может быть любым, длительность процесса не зависит от других параллельно выполняемых процессов. В таблице представлены идентификатор (ID) каждого процесса, его длительность и ID поставщиков данных для зависимых процессов.

 

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

 

Вложения к задаче
Показать ответ и решение

Для нашего удобства удалим первую строку таблицы. Далее предлагаю изменить нумерацию ID процессов.

n=100
a=[input() for i in range(n)]
for i in range(n):
    s=a[i].split()
    id_old=s[0]
    id_new=str(i+1)
    for j in range(n):
        a[j]=a[j].replace(id_old,id_new)

for i in range(n):
    print(a[i])

Преобразуем данные третьего столбца в готовые формулы для Excel таблицы.

n=100
for i in range(1,n+1):
    s=input().split(’;’)
    if s[0]==’0’:
        formula = ’=B’ + str(i)
    else:
        formula = ’=МАКС(’
        for x in s:
            formula = formula+’D’+x+’;’
        formula=formula[:-1] +’) + B’+ str(i)
    print(formula)

С помощью специальной вставки (Ctrl+Alt+V) вставляем готовые формулы в таблицу.

В ячейку F1 записываем формулу =МАКС(D1:D100) и получаем ответ: 377.  

Ответ: 474

Ошибка.
Попробуйте повторить позже

Задача 12#59449

В компьютерной системе необходимо выполнить некоторое количество вычислительных процессов, которые могут выполняться параллельно или последовательно. Для запуска некоторых процессов необходимы данные, которые получаются как результаты выполнения одного или двух других процессов – поставщиков данных. Все независимые процессы (не имеющие поставщиков данных) запускаются в начальный момент времени. Если процесс B (зависимый процесс) получает данные от процесса A (поставщика данных), то выполнение процесса B начинается сразу же после завершения процесса A. Количество одновременно выполняемых процессов может быть любым, длительность процесса не зависит от других параллельно выполняемых процессов. В таблице представлены идентификатор (ID) каждого процесса, его длительность и ID поставщиков данных для зависимых процессов.

 

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

 

Вложения к задаче
Показать ответ и решение

Для нашего удобства удалим первую строку таблицы. Далее предлагаю изменить нумерацию ID процессов.

n=100
a=[input() for i in range(n)]
for i in range(n):
    s=a[i].split()
    id_old=s[0]
    id_new=str(i+1)
    for j in range(n):
        a[j]=a[j].replace(id_old,id_new)

for i in range(n):
    print(a[i])

Преобразуем данные третьего столбца в готовые формулы для Excel таблицы.

n=100
for i in range(1,n+1):
    s=input().split(’;’)
    if s[0]==’0’:
        formula = ’=B’ + str(i)
    else:
        formula = ’=МАКС(’
        for x in s:
            formula = formula+’D’+x+’;’
        formula=formula[:-1] +’) + B’+ str(i)
    print(formula)

С помощью специальной вставки (Ctrl+Alt+V) вставляем готовые формулы в таблицу.

Теперь посчитаем количесство завершенных процессов к определенному времени, используя следующую формулу =СЧЁТЕСЛИ(D1:D100;«=103").

 

Ответ: 100

Ошибка.
Попробуйте повторить позже

Задача 13#59379

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D:D)» и получаем ответ: 6112.

PIC

 

Ответ: 6112

Ошибка.
Попробуйте повторить позже

Задача 14#59378

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D:D)» и получаем ответ: 3420.

PIC

 

Ответ: 3420

Ошибка.
Попробуйте повторить позже

Задача 15#59377

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D1:D100)» и получаем ответ: 5033.

PIC

 

Ответ: 5033

Ошибка.
Попробуйте повторить позже

Задача 16#59376

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D:D)» и получаем ответ: 142.

PIC

 

Ответ: 142

Ошибка.
Попробуйте повторить позже

Задача 17#59375

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D:D)» и получаем ответ: 206.

PIC

 

Ответ: 206

Ошибка.
Попробуйте повторить позже

Задача 18#59372

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

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

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

|--------------|--------------------------------|-----------------|
-ID--процесса-B---Время-выполнения-процесса-B-(м-с)--ID-пр-оц-есса(ов)A--|
|       1      |               4                |        0        |
|--------------|--------------------------------|-----------------|
|-------2------|---------------3----------------|--------0--------|
--------3----------------------1------------------------1;2--------|
|       4      |               7                |        3        |
------------------------------------------------------------------|

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

Вложения к задаче
Показать ответ и решение

Конечно, можно вручную посчитать время для каждого процесса, но это займёт слишком много времени, к тому же, вдруг файл будет состоять из миллиона строк? Как считать тогда? Поэтому приведём более быстрое решение.

Удаляем первую строку с заголовком. С помощью комбинации клавиш Ctrl+H заменяем все «;» на «;D», как показано ниже.

PIC

В ячейку D1  записываем формулу =ЕСЛИ(C1=0;B1;"МАКС(D"&  C1&  ")+"&  B1) и растягиваем на всю табличку, как показано ниже.

PIC

Копируем столбец D  , и в ячейку E1  вставляем только значения из этого столбца, как показано ниже.

PIC

Теперь очищаем столбец D  , копируем значения из столбца E  и вставляем в столбец D  . Столбец E  нам больше не понадобится, можем его удалить.

PIC

И последнее: с помощью комбинации клавиш Ctrl+ H  заменяем все «МАКС» на «=МАКС», как показано ниже.

PIC

В ячейку E1  записываем формулу «=МАКС(D:D)» и получаем ответ: 137.

PIC

 

Ответ: 137

Ошибка.
Попробуйте повторить позже

Задача 19#58257

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

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

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

|----------------|-------------------------------------|--------------------|
|ID--про-цесса-B-|В-рем-я-вып-олнен-ия-проц-есса B-(м-с)|ID-п-роцесса(ов)A--|
|       1        |                  4                  |         0          |
|-------2--------|------------------3------------------|---------0----------|
|----------------|-------------------------------------|--------------------|
|-------3--------|------------------1------------------|--------1;2---------|
--------4---------------------------7----------------------------3----------|

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

Вложения к задаче
Показать ответ и решение
from functools import lru_cache
n = int(input())
time = [0 for i in range(n + 1)]
depends = [[] for i in range(n + 1)]

@lru_cache(None)
def lazy_dp(k):
    if depends[k][0] == 0:
        return time[k]
    else:
        m = -1
        for i in depends[k]:
            m = max(m, lazy_dp(i))
    return m + time[k]

for i in range(1, n + 1):
    a = list(map(int, input().split()))
    time[i] = a[0]
    del a[0]
    depends[i] = a.copy()
ans = -1
for i in range(1, n + 1):
    ans = max(ans, lazy_dp(i))
print(ans)

Ответ: 23

Ошибка.
Попробуйте повторить позже

Задача 20#56483

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

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

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

|--------------|--------------------------------|----------------|
-ID-процесса B--Время-выполн-ени-я процесса B-(мс)-ID-процесса(ов)A-
|      1       |               4                |       0        |
|--------------|--------------------------------|----------------|
|------2-------|---------------3----------------|-------0--------|
-------3-----------------------1-----------------------1;2--------
|      4       |               7                |       3        |
------------------------------------------------------------------

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

Вложения к задаче
Показать ответ и решение
from functools import lru_cache
n = int(input())
time = [0 for i in range(n + 1)]
depends = [[] for i in range(n + 1)]

@lru_cache(None)
def lazy_dp(k):
    if depends[k][0] == 0:
        return time[k]
    else:
        m = -1
        for i in depends[k]:
            m = max(m, lazy_dp(i))
    return m + time[k]

for i in range(1, n + 1):
    a = list(map(int, input().split()))
    time[i] = a[0]
    del a[0]
    depends[i] = a.copy()
ans = -1
for i in range(1, n + 1):
    ans = max(ans, lazy_dp(i))
print(ans)

Ответ: 34
Рулетка
Вы можете получить скидку в рулетке!