|
Расписание занятий
(Время: 2 сек. Память: 32 Мб Сложность: 55%)
Вам выдана таблица о расписании нового направления ИКИТ. В нём указаны разделы дисциплин и соответствующее им количество зачётных единиц (ЗЕ) в виде таблицы. Таблица была экспортирована в формате csv с разделителем «запятая».
Но вот проблема, колонтитул у таблицы не сохранился. Вам требуется посчитать суммарное количество ЗЕ всех разделов или сообщить о том, что данные невалидны.
Раздел может состоять из подразделов, в этом случае, после указания названия самого раздела следует название подраздела через точку. Подраздел может состоять из своих подразделов, увеличивая вложенность. Суммарно, количество ЗЕ у подразделов должно быть равно количеству ЗЕ самого раздела. Данные таблицы является невалидными, если возникает ситуация, когда сумма ЗЕ подразделов не равна количеству ЗЕ у самого раздела. Раздел и его подразделы идут непрерывно друг за другом.
Входные данные
В первой строке входного файла INPUT.TXT записано одно число n — количество строк в таблице формата csv (1 ≤ n ≤ 1000).
В каждой из следующих n строк указаны данные — латинские символы, цифры, знак точка и запятая. Запятая является разделителем между столбцами и не присутствует в названии разделов. Количество запятых в каждой строке одинаковое.
В одном из столбцов присутствуют только целые числа ai (1 ≤ ai ≤ 2500), которые указывают на количество ЗЕ. Гарантируется, в таблице нет второго такого столбца, в котором присутствовали бы только целые числа.
Название раздела не повторяется и может присутствовать в любом столбце. Подраздел указывается в том же столбце, что и раздел, в следующем ряду. В каждой ряду таблицы заполненными являются только две ячейки (название и ЗЕ).
Максимальная длина каждой строки — 1000 символов.
Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число — суммарное значение ЗЕ всех разделов дисциплин в случае валидности данных таблицы, в противном случае выведите −1.
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 5
GameCreate,,12,,,
,Math,8,,,
,Math.Profi,6,,,
,Math.Starter,2,,,
,,1,,,PhysicalCulture | 21 |
2 | 5
Streaming,,,4
Streaming.SFU,,,2
Streaming.ISIT,,,2
Streaming.ISIT.IS,,,2
Streaming.ISIT.PI,,,2 | -1 |
3 | 12
a,18
a.1,6
a.1.1,3
a.1.2,3
a.2,6
a.2.1,3
a.2.2,3
a.3,6
a.3.1,6
a.3.1.1,6
b,10
1,100 | 128 |
Пояснение
Во втором примере у раздела «Streaming.ISIT» всего 2 ЗЕ, но у его подразделов суммарно вышло 4 ЗЕ.
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
| |