잔인한 게임
시간 제한5초메모리 제한1024 MB
앨리스가 장애물 직선 위에 있지 않은 점을 고르고, 밥이 어디에 서든 앨리스와 밥 사이를 가리는 장애물 수의 최댓값을 최소로 만드는 문제입니다.
문제
알리스와 밥은 평면 위에서 잔인한 게임을 한다.
평면에 개의 장애물이 놓여 있고, 각 장애물은 선분이다. 먼저 알리스가 어떤 장애물을 포함하는 직선 위에도 있지 않은 점을 골라 그 자리에 선다. 다음으로 밥이 점을 골라 그 자리에 선다. 그다음 알리스가 밥을 향해 총을 쏜다.
밥은 안전하기를 원하므로, 자신과 알리스 사이에 가능한 한 많은 장애물이 놓이도록 점을 고른다. 장애물의 끝점이 알리스와 밥을 잇는 선분 위에 놓이면, 밥은 그 장애물 뒤에 숨은 것으로 본다.
알리스는 밥을 맞히고 싶으므로, 자신과 밥 사이에 가능한 한 적은 장애물이 놓이도록 점을 고른다. 그 점을 찾는 것을 도와라.
입력
첫 줄에 장애물의 개수 ()이 주어진다. 다음 개의 줄에는 각 장애물 끝점의 좌표 가 정수로 주어진다. 장애물끼리는 공통된 점이 없다. 모든 좌표의 절댓값은 100을 넘지 않는다.
출력
첫 줄에 두 사람이 모두 최적으로 행동할 때 알리스와 밥 사이에 놓일 수 있는 장애물의 최소 개수 를 출력한다.
둘째 줄에는 알리스가 설 점을 출력한다. 이 점은 어떤 장애물을 포함하는 직선 위에 있으면 안 된다.