Ленивый папа
Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Некоторые папы так устают на работе, что, приходя домой, ложатся на диван и не могут с него встать. Для игры с ребёнком такие папы придумали детский конструктор "ленивый папа". Этот конструктор содержит прозрачные и непрозрачные кубики (все кубики одного размера). Из них ребёнок составляет некоторую конструкцию на вращающейся подставке. Не вставая с дивана, папа может увидеть только две стороны этой конструкции (например, переднюю и правую боковую). При этом прозрачные кубики абсолютно невидимы (т.е. даже не видно, есть кубик или нет). Фактически, папа видит фронтальную и боковую проекции некоторого тела. Очевидно, что не всегда по этим двум проекциям можно восстановить фигуру. Цель папы в игре – по заданным фронтальной и боковой проекциям определить минимальное и максимальное количество закрашенных кубиков, которое мог использовать ребёнок для построения фигуры. Хитрый ленивый папа решил задействовать компьютер для ещё большего облегчения своих действий.
Входные данные
В первой строке через пробел три целых числа: `n`, `m`, `h` (`1\ ≤\ n,\ m,\ h\ ≤\ 100`) – размеры конструкции. Далее со второй строки задаются проекции: сначала фронтальная, затем правая боковая. Проекция задаётся `n` строками, каждая из которых состоит из 0 и 1, разделенных пробелами, где 0 означает свободную клетку проекции (соответствующую прозрачным кубикам или отсутствию кубиков), а 1 – заполненную (т.е. соответствующую закрашенному кубику). В каждой строке для фронтальной проекции таких чисел будет `m`, а для боковой – `h`.
Выходные данные
В первой строке два числа – минимальное и максимальное число кубиков, которые можно было бы использовать для построения фигуры с заданными проекциями.
Пример ввода
2 2 3
1 0
1 1
0 0 1
1 1 1
Источник: NEERC, Западно-Сибирский четвертьфинал, 2007