Вероятность дождя по влажности

тема: Вероятность и матожидание · уровень: средний

Условие

Погодная станция хранит измерения датчика влажности в одной таблице, а результаты наблюдений за погодой — в другой. Строки таблиц сопоставляются по идентификатору измерения.

В первой таблице для каждого измерения указан уровень влажности: low, normal или high. Во второй таблице может быть указан результат наблюдения: rain, clear или -. Значение - означает, что результат наблюдения неизвестен.

Требуется вычислить условную вероятность дождя при высоком уровне влажности среди строк, которые удалось сопоставить и для которых результат наблюдения известен:

P(rain | high) = количество сопоставленных строк с влажностью high и результатом rain / количество сопоставленных строк с влажностью high и известным результатом.

Строки без пары во второй таблице и строки с результатом - в расчёте не участвуют. Гарантируется, что знаменатель формулы положителен. При сопоставлении ключи считаются равными только при точном совпадении целых идентификаторов; одинаковых идентификаторов внутри одной таблицы нет.

Формат ввода

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

Следующие n строк содержат таблицу измерений. В каждой строке записаны целое число id и строка humidity — идентификатор измерения и уровень влажности.

Следующие m строк содержат таблицу результатов наблюдений. В каждой строке записаны целое число id и строка weather — идентификатор измерения и результат наблюдения.

Формат вывода

Выведите значение P(rain | high) с тремя знаками после десятичной точки.

Ограничения

1 ≤ n, m ≤ 2000.

1 ≤ id ≤ 1000000.

В первой таблице humidity равно low, normal или high; длина строки не превосходит 6.

Во второй таблице weather равно rain, clear или -; длина строки не превосходит 5.

Идентификаторы не повторяются внутри каждой из двух таблиц.

Среди сопоставленных строк с влажностью high есть хотя бы одна строка, у которой weather не равно -.

Решить задачу с автопроверкой на Python →

Куда дальше