꽃밭 물주기
시간 제한1초메모리 제한256 MB
같은 행이나 열을 따라 번지는 물로 모든 꽃에 물을 주는 스프링클러 최소 개수를 구합니다.
문제
꽃밭은 행 열짜리 정사각형 격자다. 꽃은 모두 송이 있고, 번째 꽃은 행 열에 있다.
당신은 이 꽃밭에 스프링클러를 놓는다. 스프링클러는 꽃이 없는 빈 칸이면 어디에나 놓을 수 있고, 놓인 칸에서 위, 오른쪽, 아래, 왼쪽 네 방향으로 격자와 나란하게 물줄기를 뿜는다.
꽃에는 특별한 성질이 있다. 어느 방향에서든 물을 받은 꽃은 자기 칸에서 다시 위, 오른쪽, 아래, 왼쪽 네 방향으로 물을 뿜는다. 세로 물줄기와 가로 물줄기는 높이가 달라서 부딪히지 않고 서로를 지나간다. 물줄기는 격자 끝까지 뻗으며 꽃도 다른 물줄기도 물줄기를 막지 못한다.
꽃 송이에 모두 물을 주려면 스프링클러가 최소 몇 대 필요한지 구하라.
입력
첫 줄에 테스트 케이스의 수 가 주어진다 (). 각 테스트 케이스는 다음과 같이 주어진다.
- 첫 줄에 꽃의 수 ()
- 이어지는 개 줄에 각 꽃의 행과 열 , (). 같은 칸에 꽃이 두 송이 이상 놓이는 경우는 없다.
출력
각 테스트 케이스마다 모든 꽃에 물을 줄 수 있는 스프링클러의 최소 개수를 한 줄에 출력한다.
힌트
아래 두 그림은 스프링클러를 최소 개수로 놓은 예다.

첫 번째 예제 테스트 케이스

두 번째 예제 테스트 케이스