Самая частая путаница результатов партий
Условие
После шахматного турнира организаторы получили две таблицы. В первой таблице записаны фактические результаты партий, а во второй — прогнозы классификатора для части этих партий.
Результат партии кодируется одной буквой: W — победа белых, B — победа чёрных, D — ничья. Строки двух таблиц сопоставляются по идентификатору партии.
Для каждой упорядоченной пары различных меток (a, p) определяется число ошибок классификатора \[ C(a,p)=\sum I(y_i=a \text{ и } \hat y_i=p), \] где суммирование идёт по партиям, присутствующим в обеих таблицах, y_i — фактический результат, \hat y_i — прогноз, а I равно 1, если условие верно, и 0 иначе. Требуется найти пару (a, p) с наибольшим значением C(a,p): сначала фактическую метку, затем ошибочно предсказанную метку.
Прогноз для некоторых партий может отсутствовать: такие партии не участвуют в подсчёте. Для каждой пары, не встретившейся среди ошибок, значение C(a,p) равно 0. Гарантируется, что хотя бы одна ошибочно предсказанная партия существует. Если наибольшее значение достигается у нескольких пар, выводится лексикографически наименьшая пара меток. Порядок меток при лексикографическом сравнении: B < D < W.
Формат ввода
В первой строке даны два целых числа n и m — число строк в таблице фактических результатов и число строк в таблице прогнозов.
В следующих n строках находятся идентификатор партии game_id и её фактический результат actual.
В следующих m строках находятся идентификатор партии game_id и прогноз классификатора predicted.
Формат вывода
Выведите через пробел две метки: фактический результат и наиболее часто перепутанный с ним прогноз.
Округление не применяется.
Ограничения
1 ≤ n ≤ 4000;1 ≤ m ≤ n;- длина каждого
game_idсоставляет от 2 до 12 символов; game_idсостоит только из латинских букв, цифр и символа_;- идентификаторы в первой таблице попарно различны;
- идентификаторы во второй таблице попарно различны и все присутствуют в первой таблице;
actualиpredictedпринадлежат множеству{B, D, W};- среди сопоставленных строк есть хотя бы одна строка, в которой
actualиpredictedразличаются.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать