Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

printРабочее место участника

printЗадачи

1323. Домино

Ограничения: время – 3s/6s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Конечно же, все вы когда-нибудь играли в домино. Как карты и игральные кости, домино является простым способом убивания времени, подходящим для любого возраста. Каждая костяшка домино состоит из двух частей, в которых размещаются от 0 до 6 точек. Рассмотрим следующий ряд из нескольких костяшек домино:
10430.png
Подсчитав общее количество точек на верхней и нижней частях этих костяшек, мы получим соответственно суммы 14 (1 ) и 20 (3\ +\ 4\ +\ 6\ +\ 0\ +\ 4\ +\ 3).
Заметим, что если убрать некоторые костяшки, мы можем получить равные суммы на верхней и нижней строках. Для костяшек, приведенных выше, если убрать следующие две костяшки, то мы получим обе суммы равными 10 (1\ +\ 5\ +\ 2\ +\ 2\ =\ 3\ +\ 4\ +\ 0\ +\ 3):
10431.png
В данном случае это минимальное число костяшек, которые надо убрать, чтобы получить равные суммы. А как насчет решения этой задачи в общем случае?
Вам даны расположение и ориентация N костяшек домино. Ваша задача – найти наименьшее число костяшек D, которые необходимо убрать из данного набора, чтобы суммы числа точек верхних и нижних частях ряда из костяшек домино стали равны. Это число D может быть равно 0 в случае, если суммы в верхней и нижней строках уже равны, или N, когда другого варианта, кроме как удалить все костяшки, получив две нулевые суммы, нет. При этом вы не можете поворачивать костяшки, чтобы поменять верхние и нижние точки местами.
В первой строке ввода содержится одно целое число N (1\ ≤\ N\ ≤\ 5000) – количество костяшек домино. Далее следуют ровно N строк, в каждой из которых находится пара целых чисел U_i и L_i (0\ ≤\ U_i,\ \ L_i\ ≤\ 6) – количества точек на верхней и нижней частях i-й костяшки соответственно.
Вывести единственное целое число D – минимальное количество костяшек, которое нужно убрать.

Пример ввода 1

6
1 3
5 4
3 6
2 0
1 4
2 3

Пример вывода 1

2

Пример ввода 2

4
1 5
4 3
2 1
0 6

Пример вывода 2

4

Пример ввода 3

3
4 4
3 6
5 2

Пример вывода 3

0
loading