Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки

HotLog


 

Расписание занятий

(Время: 2 сек. Память: 32 Мб Сложность: 55%)

Вам выдана таблица о расписании нового направления ИКИТ. В нём указаны разделы дисциплин и соответствующее им количество зачётных единиц (ЗЕ) в виде таблицы. Таблица была экспортирована в формате csv с разделителем «запятая».

Но вот проблема, колонтитул у таблицы не сохранился. Вам требуется посчитать суммарное количество ЗЕ всех разделов или сообщить о том, что данные невалидны.

Раздел может состоять из подразделов, в этом случае, после указания названия самого раздела следует название подраздела через точку. Подраздел может состоять из своих подразделов, увеличивая вложенность. Суммарно, количество ЗЕ у подразделов должно быть равно количеству ЗЕ самого раздела. Данные таблицы является невалидными, если возникает ситуация, когда сумма ЗЕ подразделов не равна количеству ЗЕ у самого раздела. Раздел и его подразделы идут непрерывно друг за другом.

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

В первой строке входного файла INPUT.TXT записано одно число n — количество строк в таблице формата csv (1 ≤ n ≤ 1000).

В каждой из следующих n строк указаны данные — латинские символы, цифры, знак точка и запятая. Запятая является разделителем между столбцами и не присутствует в названии разделов. Количество запятых в каждой строке одинаковое.

В одном из столбцов присутствуют только целые числа ai (1 ≤ ai ≤ 2500), которые указывают на количество ЗЕ. Гарантируется, в таблице нет второго такого столбца, в котором присутствовали бы только целые числа.

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

Максимальная длина каждой строки — 1000 символов.

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

В выходной файл OUTPUT.TXT выведите одно целое число — суммарное значение ЗЕ всех разделов дисциплин в случае валидности данных таблицы, в противном случае выведите −1.

Примеры

INPUT.TXTOUTPUT.TXT
15
GameCreate,,12,,,
,Math,8,,,
,Math.Profi,6,,,
,Math.Starter,2,,,
,,1,,,PhysicalCulture
21
25
Streaming,,,4
Streaming.SFU,,,2
Streaming.ISIT,,,2
Streaming.ISIT.IS,,,2
Streaming.ISIT.PI,,,2
-1
312
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 ЗЕ.


Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2011 / 2012
 2012 / 2013
 2013 / 2014
 2014 / 2015
 2015 / 2016
 2016 / 2017
 2017 / 2018
 2018 / 2019
 2021 / 2022
 A. Битва движков
 B. Я не спал 2000 лет
 C. Пробежка по лестнице
 D. Разборки в космосе
 E. Бесконечные вычисления
 F. Воспитательница
 G. Инскрипция
 H. Всё очень просто
 I. Расписание занятий
 J. Культ суперкомпьютера

Красноярский краевой Дворец пионеров, (c)2006 - 2022, E-mail: admin@acmp.ru