워크샵으로 가는 버스에 타고 안녕.
시간 제한1초메모리 제한1024 MB
3행 N열 버스에서 1행과 3행의 좌석을 바탕으로, 모든 칸을 식히는 데 필요한 에어컨의 최소 개수를 구합니다. 불가능하면 -1을 출력합니다.
문제
월간 향유회의 운영진들은 행 열의 직사각형 모양 버스를 타고 워크샵에 가려고 한다. 버스의 행과 행의 각 칸에는 좌석과 에어컨이 있다. 한 칸의 에어컨을 가동하면 그 칸과 변을 공유하는 모든 칸이 시원해진다. 운영진은 총 명이며, 각 운영진은 버스의 한 좌석에 앉아 그 칸의 에어컨 가동 여부를 정한다. 모든 운영진은 서로 다른 좌석에 앉는다.
버스의 에어컨 시스템을 관리하는 당신은, 운영진이 앉지 않은 좌석의 에어컨을 마음대로 가동할 수 있다. 버스를 쾌적하게 유지하기 위해, 당신은 행을 포함한 모든 칸을 시원하게 만들고 싶다. 버스의 모든 칸을 시원하게 하기 위해 가동해야 하는 에어컨의 최소 개수를 구하라. 이때 운영진이 직접 가동한 에어컨도 개수에 포함한다.
입력
첫째 줄에 버스의 열의 개수 과 운영진의 수 이 공백으로 구분되어 주어진다.
다음 개의 줄에 걸쳐 각 운영진의 정보가 , , 의 순서로 공백으로 구분되어 주어진다. 번째 운영진은 (, ) 칸에 앉는다. 이면 그 칸의 에어컨을 가동하고, 이면 가동하지 않는다.
모든 운영진은 서로 다른 좌석에 앉고, 모든 입력은 정수이다.
출력
버스의 모든 칸을 시원하게 하기 위해 가동해야 하는 에어컨의 최소 개수를 출력한다. 어떻게 가동하더라도 모든 칸을 시원하게 할 수 없다면 -1을 출력한다.