 SUPERPC | Описание Широко известная компьютерная фирма выпустила на рынок новый суперкомпьютер, способный выполнять параллельные вычисления на N процессорах. Для этого суперкомпьютера был разработан специальный язык программирования, в который встроены операторы PAR и SEQL - операторы явного указания на параллельный или последовательный характер вычислений операторов, которые следуют за ключевыми словами PAR или SEQL. Каждый оператор должен заканчиваться знаком точки с запятой. Последовательность операторов может заключаться в операторные скобки "{" и "}" (как, например, в языке Си). За ключевыми словами PAR или SEQL обязательно следуют операторные скобки. В начале программы SEQL может не указываться, т.к. предполагается, что вычисления выполняются последовательно. Задача Найти максимальное число параллельно работающих процессоров, которое может потребоваться для выполнения заданной программы. Например, последовательность операторов PAR { for (i=0; i<n; i++) alpha[i][j]+=alpha[i+1][j+1]; if (Num==func(c,d)) r+=f(Num,34.15); } потребует для выполнения 2 процессора, т.к. в операторных скобках после PAR стоят два оператора. Последовательность операторов SEQL { a=b; b=c; c=a; } выполняется на одном процессоре. А последовательность операторов PAR { d=4; a=3.14*r; PAR { s1=1; s2=2; s3=3; } } потребует для выполнения 5 процессоров. Технические условия Входной файл: SUPERPC.IN Выходной файл: SUPERPC.OUT Входной файл Программа для суперкомпьютера. Комментарии в программе не допускаются. Длина файла не более 10000 символов. Количество символов в строке не превышает 100 Выходной файл Целое число - максимальное число параллельно работающих процессоров Например: SUPERPC.IN PAR { d=4; a=3.14*r; PAR { s1=1; s2=2; s3=3; } } SUPERPC.OUT 5
|
|---|