Домашние животные и друзья
Скоро у Антона день рождения, и он решил пригласить своих друзей. У него друзей. У некоторых из них есть собака, кошка или оба питомца. Но также у некоторых из них боятся собак, кошек или обоих одновременно.
Информация о -м друге представлена двумя целыми числами и , варьирующимися от до , где соответствует питомцам, которые есть у друга, а соответствует животным, которых они боятся. Вот значения этих цифр:
означает отсутствие / отсутствие страха перед любым из них;
означает собаку;
означает кошку;
означает обоих животных.
Пусть человек «x y
» будет человеком, который может быть описан цифрами и . Вот некоторые возможные примеры друзей:
человек «
1 2
» имеет собаку и боится кошек;человек «
0 1
» не имеет собаки или кошки и боится собак;человек «
3 0
» имеет собаку и кошку и не боится их;человек «
0 3
» не имеет ни одного из этих животных и боится их, и так далее.
Все друзья Антона любят своих питомцев, поэтому они не придут без них. Но он не может пригласить друга, который боится какого-то вида животного, и друга, который владеет питомцем этого вида одновременно.
Вам нужно определить максимальное количество друзей, которых Антон может пригласить.
Обратите внимание, что:
Антон не боится и не имеет ни одного из этих питомцев;
Комбинация приглашенных друзей может состоять из друзей, у которых нет ни одного питомца (для всех индексов приглашенных друзей может быть равно );
Гарантируется, что нет друзей, которые боятся своих питомцев.
Входные данные
Первая строка содержит одно целое число — количество друзей Антона.
Каждая из следующих строк содержит информацию о каждом друге в виде двух цифр , разделенных пробелом, где означает питомцев друга, а — животных, от которых они боятся.
Гарантируется, что нет друзей, которые боятся своих питомцев.
Выходные данные
В единственной строке необходимо вывести максимальное количество приглашенных Антоном друзей, чтобы не было друзей, которые боятся питомцев других.
Примеры
Примечание
В первом примере оба друзья не могут быть приглашены одновременно, так как они оба боятся питомцев друг друга. Но любой из них все равно может быть единственным приглашенным другом.
Во втором примере Антон не может пригласить всех своих друзей одновременно, так как у второго друга есть кошка, от которой боятся первый и третий. Но первого и третьего друга можно пригласить вместе.
В третьем примере есть возможные комбинации приглашенных друзей:
-й, -й и -й;
-й, -й и -й.
Можно показать, что Антон не может пригласить больше друзей в этом примере.
Оценивание
( баллов): ни один из друзей не боится ни одного из животных;
( баллов): у каждого друга ровно один питомец и они боятся ровно одного животного;
( баллов): ни у одного друга нет кошки;
( баллов): у каждого друга максимум один питомец и они боятся максимум одного животного;
( баллов): ;
( балла): нет дополнительных ограничений.