내부 정점
시간 제한2초메모리 제한64 MB
무한 격자에서 행과 열로 둘러싸인 점을 채우는 폐쇄 과정을 시뮬레이션해 최종 검은 점의 개수를 구하거나 종료되지 않음을 판별합니다.
문제
무한히 넓은 정사각 격자가 있고, 각 격자점은 검은색 또는 흰색으로 칠해져 있다.
어떤 격자점 와 같은 행(가로줄)에 있는 두 검은 격자점이 존재하여 가 그 둘 사이에 놓이면, 를 가로-내부 격자점이라고 한다. 마찬가지로 와 같은 열(세로줄)에 있는 두 검은 격자점 사이에 가 놓이면 를 세로-내부 격자점이라고 한다. 가로-내부이면서 동시에 세로-내부인 격자점을 내부 격자점이라고 부른다.
매 단계마다 흰색인 모든 내부 격자점을 동시에 검은색으로 바꾼다. 나머지 격자점의 색은 그대로 유지된다. 흰색 내부 격자점이 하나도 남지 않으면 과정이 멈춘다.
과정이 멈춘 뒤 검은 격자점의 개수를 구하여라.
입력
첫째 줄에 처음에 검은색인 격자점의 개수 ()이 주어진다.
이어지는 개의 줄에는 각각 검은 격자점의 좌표를 나타내는 두 정수가 주어진다. 주어지는 격자점은 모두 서로 다르며, 각 좌표의 절댓값은 이하이다.
출력
과정이 멈춘 뒤 검은 격자점의 개수를 출력한다. 만약 과정이 멈추지 않으면 -1을 출력한다.
힌트
