Строительство города
(Время: 1 сек. Память: 32 Мб Сложность: 25%)
Однажды было принято решение построить город. По плану, город должен быть построен на сетке из M×N прямоугольных участков, каждый из которых имеет размер 10×10 метров. При этом все улицы должны иметь ширину 10 метров и занимать соответственно одну горизонталь или вертикаль сетки. Вертикальные улицы должны пролегать по вертикалям с номерами X1, …, XY, горизонтальные – по горизонталям с номерами Y1, …, YH. При этом улицы не соприкасаются, то есть не бывает Xi = Xi-1+1 и Yj = Yj-1+1 соответственно.
Все дома в новом городе должны занимать одну клетку сетки. Причем все дома должны находиться рядом с улицами. В клетках, не имеющих общих сторон с улицами, должен быть разбит парк. Кроме того, дома не должны находиться на наружной стороне крайних улиц.
Теперь будущие жители нового города хотят узнать: сколько домов будет построено и сколько в городе будет клеток парка. Ваша задача состоит в том, чтобы написать программу, которая рассчитает эти величины.
Входные данные
Первая строка входного файла INPUT.TXT содержит числа M, N, V и H (2 ≤ V < M ≤ 1000, 2 ≤ H < N ≤ 1000). Во второй строке записаны координаты вертикальных улиц – V чисел: 1 = X1 < X2 < … < Xv = M. Третья строка содержит координаты горизонтальных улиц – H чисел: 1 = Y1 < Y2 < … < YH = N. Все числа в строках разделены пробелами.
Выходные данные
В выходной файл OUTPUT.TXT выведите три числа через пробел: A – количество домов в новом городе, B – количество клеток, в которых будет разбит парк и C – количество клеток, по которым будут пролегать улицы.
Пример
№ | INPUT.TXT | OUTPUT.TXT |
1 | 8 10 3 3 1 4 8 1 6 10 | 32 3 45 |
Пояснение к примеру
В выходной файл OUTPUT.TXT выведите три числа через пробел: A – количество домов в новом городе, B – количество клеток, в которых будет разбит парк и C – количество клеток, по которым будут пролегать улицы.
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|