Панели с выработкой во все месяцы
Условие
В файле data.csv приведены сведения о солнечных панелях. Каждая панель имеет уникальный идентификатор, название солнечного поля и номинальную мощность.
В файле events.csv приведены зарегистрированные показания выработки. Одна панель может иметь несколько записей за один и тот же месяц. Пустое значение выработки означает, что численное показание не передано, однако такая строка всё равно считается зарегистрированной записью за соответствующий месяц.
По данным из двух файлов требуется определить количество панелей указанного солнечного поля с мощностью не меньше заданного порога, для которых существует хотя бы одна запись в events.csv в каждом месяце с 1 по 6 включительно. Формально для панели с идентификатором id требуется, чтобы множество месяцев её записей содержало все значения из множества {1, 2, 3, 4, 5, 6}.
Повторные записи за один месяц не увеличивают количество покрытых месяцев. При равенстве нескольких записей по идентификатору панели и месяцу все они учитываются как записи одного и того же месяца.
Ответ является целым количеством панелей. Дробная часть отсутствует, выводится целое число без округления.
Формат ввода
В каталоге с программой находятся два файла в кодировке UTF-8 с разделителем запятая.
Файл data.csv содержит от 300 до 4000 строк данных после заголовка. Его столбцы:
panel_id— целочисленный идентификатор панели;field_name— название солнечного поля;nominal_kw— целочисленная номинальная мощность панели в киловаттах.
Файл events.csv содержит от 300 до 4000 строк данных после заголовка. Его столбцы:
panel_id— целочисленный идентификатор панели из файлаdata.csv;month— номер месяца наблюдения;energy_kwh— выработка в киловатт-часах либо пустая строка.
Из стандартного ввода поступает одна строка с двумя значениями через пробел: field_name и threshold_kw.
Формат вывода
Выведите одно целое число — количество панелей, удовлетворяющих условию.
Ограничения
- В
data.csvот 300 до 4000 строк данных. - В
events.csvот 300 до 4000 строк данных. panel_idвdata.csv— целое число от 1 до 1000000, все идентификаторы уникальны.panel_idвevents.csvобязательно существует вdata.csv.- Длина
field_nameсоставляет от 1 до 30 символов. - В файлах используются только поля
Поле-Альфа,Поле-Бета,Поле-ГаммаиПоле-Дельта. nominal_kw— целое число от 50 до 500.month— целое число от 1 до 6.energy_kwh— целое число от 0 до 20000 либо пустая строка.threshold_kw— целое число от 0 до 1000.- Панелей, подходящих по полю и мощности, может не быть. В этом случае выводится
0.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам