Задача к ЕГЭ по информатике на тему «практика программирования» №5

Вы — начальник в крупной компании, у Вас в подчинении n  сотрудников, которым Вы должны выплатить зарплату за прошедший месяц. В прошедшем месяце было m  недель, в каждой неделе по k  дней. Каждый сотрудник получает ежедневную зарплату, причем она зависит, сколько он работал в тот, или иной день. Вам предстоит немного пересмотреть зарплаты сотрудников, некоторым добавить денег в какой-либо день, поощрить его за хорошую работу. Ну а некоторым, вычесть некое количество денег за некачественно выполненный проект в определенный день. Затем посчитать общую сумму выплат работникам. Напишите программу, которая решит эту задачу за Вас.

Входные данные:

В первой строке входных данных заданы три целых числа n  , m  и k  (1 ≤ n,m,k ≤ 100  ) — количество сотрудников у Вас в подчинении, количество недель в прошедшем месяце и количество дней в неделе.

Далее заданы n  блоков по m × k  чисел в каждом — зарплаты каждого сотрудника по дням в течение месяца.

В n × m + 2  -й строке входных данных задано число t  — количество правок в зарплатах сотрудников (1 ≤ t ≤ 100  ).

В следующих t  строках записаны по 4  числа. Первые три числа показывают, у какого сотрудника происходит изменение зарплаты, в какой по счету неделе и в какой день данной недели происходят эти изменения соответственно. Последнее же число показывает, насколько изменилась зарплата текущего сотрудника в определенный день. Заметьте, что изменения могут быть как положительными, так и отрицательными (то есть происходит прибавка или убавка зарплаты).

Выведите одно число — суммарную зарплату всех работников после всех изменений.

Пример входного файла:

1  1  1

2

2

1  1  1  2

1  1  1  − 1

Ответ на данный пример:

3

f = open("file.txt")
n, m, k = map(int, f.readline().split())

mas = [[[0 for j in range(k)] for i in range(m)] for x in range(n)]

for i in range(n):
    for j in range(m):
        mas[i][j] = list(map(int, f.readline().split()))

t = int(f.readline())
for i in range(t):
    a, b, c, d = map(int, f.readline().split())
    # нумерация в массивах начинается с нуля
    mas[a - 1][b - 1][c - 1] += d

ans = 0

for i in range(n):
    for j in range(m):
        for x in range(k):
            ans += mas[i][j][x]

print(ans)

Ответ: 210250
Оцените статью
Я решу все!