Максимум различных кодов погоды по регионам
Условие
Метеостанции расположены в нескольких регионах. Файл data.csv содержит сведения о станциях, а файл events.csv — результаты отдельных измерений. Каждая строка файла измерений ссылается на станцию по её идентификатору.
Для каждого региона рассматриваются только измерения с показателем качества не меньше заданного порога. Пустой код погоды считается пропуском и не учитывается.
Для региона r обозначим через S(r) множество различных непустых значений столбца weather_code среди подходящих измерений станций региона r. Требуется вывести значение max |S(r)|, то есть наибольшее число различных кодов погоды в одном регионе.
Регион без подходящих измерений имеет значение |S(r)| = 0. При равенстве наибольших значений у нескольких регионов выводится само общее число, поэтому выбор региона не требуется.
Формат ввода
Рядом с программой находятся два файла в кодировке UTF-8 с разделителем-запятой.
Файл data.csv содержит от 1 до 1000 строк данных и заголовок:
station_id— целочисленный идентификатор станции;region— название региона;altitude_m— высота станции над уровнем моря в метрах.
Файл events.csv содержит от 1 до 1000 строк данных и заголовок:
station_id— идентификатор станции из файлаdata.csv;date— дата измерения в форматеYYYY-MM-DD;weather_code— код наблюдавшейся погоды или пустая строка при пропуске;quality— целочисленный показатель качества измерения.
В стандартном вводе находится одно целое число q — минимальный допустимый показатель качества. Учитываются только строки events.csv, для которых quality >= q.
Формат вывода
Выведите одно целое число — максимальное количество различных непустых кодов погоды среди регионов.
Ограничения
1 <= число строк data.csv <= 1000.
1 <= число строк events.csv <= 1000.
1 <= station_id <= 1000000.
Длина названия региона — от 1 до 30 символов.
-500 <= altitude_m <= 9000.
Дата имеет длину 10 символов и формат YYYY-MM-DD.
Код погоды имеет длину от 0 до 20 символов.
0 <= quality <= 100.
0 <= q <= 101.
Решить задачу с автопроверкой на Python →
Куда дальше
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели