Независимость событий по двум таблицам посылок
Условие
В пункте выдачи ведутся две таблицы по одним и тем же посылкам. В первой таблице указан признак хрупкости посылки, во второй — был ли срок выдачи нарушен. Строки таблиц могут идти в разном порядке, поэтому их нужно сопоставить по идентификатору посылки.
Рассматриваются события: A — посылка хрупкая, B — срок выдачи нарушен. Строки, в которых во второй таблице стоит значение NA, не участвуют в расчётах: для них срок выдачи неизвестен.
Пусть N — число участвующих в расчёте посылок, nA — число хрупких посылок, nB — число посылок с нарушенным сроком, nAB — число посылок, для которых произошли оба события. События считаются независимыми, если
nAB / N = (nA / N) * (nB / N).
Для проверки без деления можно использовать равносильное равенство N * nAB = nA * nB. Если равенство выполняется, в том числе при пустой группе хрупких посылок или посылок с нарушенным сроком, выводится INDEPENDENT.
Формат ввода
В первой строке дано целое число n — число посылок.
В следующих n строках дана первая таблица в формате parcel_id fragile, где parcel_id — идентификатор посылки, а fragile равен 0 или 1.
В следующих n строках дана вторая таблица в формате parcel_id delayed, где delayed равен 0, 1 или NA.
Каждый идентификатор встречается ровно один раз в каждой из двух таблиц. В таблицах содержится хотя бы одна строка со значением delayed, равным 0 или 1.
Формат вывода
Выведите слово INDEPENDENT, если события независимы, или DEPENDENT иначе. После пробела выведите число nAB.
Ответ выводится без округления, так как второе значение является целым числом.
Ограничения
1 ≤ n ≤ 1000.
Общее число строк двух таблиц не превосходит 2000.
Длина parcel_id составляет от 2 до 8 символов. Идентификатор состоит из латинских букв, цифр и символа подчёркивания.
fragile принимает значения 0 или 1.
delayed принимает значения 0, 1 или NA.
Числа N, nA, nB и nAB лежат в диапазоне от 0 до 1000, причём N ≥ 1.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс