직선 2
시간 제한1초메모리 제한128 MB
자기교차할 수 있는 다각형과 여러 직선이 주어질 때, 각 직선에서 다각형까지의 거리의 제곱을 기약분수로 정확히 구해 출력한다.
문제
직선과 다각형 사이의 거리는 그 직선과 다각형에 속하는 임의의 점 사이의 거리 중 가장 작은 값이다. 여기서 다각형은 경계(변)와 내부를 모두 포함한다. 다각형은 볼록하지 않아도 되며, 같은 꼭짓점이 여러 번 나올 수 있고 경계가 스스로 교차할 수도 있다.
다음을 수행하는 프로그램을 작성하시오.
- 표준 입력에서 다각형과 여러 개의 직선을 읽는다,
- 각 직선에 대해 그 직선과 다각형 사이의 거리를 계산한다,
- 결과를 표준 출력에 쓴다.
입력
첫째 줄에 두 정수 과 (, )이 공백으로 구분되어 주어진다. 각각 다각형의 꼭짓점 수와 분석할 직선의 수이다.
다음 개의 줄에는 각각 두 정수 와 ()가 주어지며, 번째 꼭짓점의 좌표이다. 이웃한 두 꼭짓점, 그리고 마지막 꼭짓점과 첫 번째 꼭짓점이 다각형의 변을 이룬다.
다음 개의 줄에는 각각 세 정수 , , (, )가 주어지며, 직선 을 나타낸다.
출력
개의 줄을 출력한다. 번째 줄에는 번째 직선과 다각형 사이 거리의 제곱을 기약분수로 출력한다. 분자, / 기호, 양의 분모 순서로 쓴다. 직선이 다각형에 닿거나 다각형을 지나가면 거리는 이며 0/1로 출력한다.
힌트
