산책하는 두 강아지의 최소 거리
시간 제한6초메모리 제한512 MB
두 개가 같은 속도로 각자의 꺾은선 경로를 따라 이동할 때, 둘 다 이동 중인 동안 두 개 사이의 최소 거리를 구한다.
문제
당신은 강아지 두 마리, 섀도와 리디아를 돌본다. 두 마리 모두 좋아하는 산책 경로를 하나씩 외우고 있다. 경로는 점의 목록으로 주어지며, 강아지는 첫 번째 점에서 두 번째 점까지 곧장 걷고, 이어서 세 번째 점까지 곧장 걷는 식으로 마지막 점까지 간다. 마지막 점에는 그 강아지의 개집이 있다.
한 마리씩 차례로 산책시키면 시간이 너무 오래 걸려서 두 마리를 같은 순간에 내보내려고 한다. 걱정되는 것은 둘이 서로 신경 쓸 만큼 가까워지는 상황이므로, 산책하는 동안 둘이 얼마나 가까워지는지 알아야 한다.
두 마리는 같은 순간에 출발하고, 걷는 속력이 서로 완전히 같다. 경로의 마지막 점에 도착한 강아지는 곧바로 개집에 들어가 잠들며, 그 순간부터는 다른 강아지가 한동안 더 걷더라도 둘 사이의 거리를 따지지 않는다. 개집에 들어가는 바로 그 순간까지는 아직 깨어 있다.
두 마리가 모두 깨어 있는 동안 둘 사이 거리의 최솟값을 구하라.
입력
첫째 줄에 섀도의 경로를 이루는 점의 개수 ()이 주어진다. 다음 개의 줄에는 섀도가 지나는 순서대로 경로의 점이 한 줄에 하나씩, 두 정수 와 ()로 주어진다. 이웃한 두 점은 적어도 한 좌표가 서로 다르다.
다음 줄에는 리디아의 경로를 이루는 점의 개수 ()이 주어지고, 이어지는 개의 줄에 리디아 경로의 점이 같은 형식으로 주어진다.
출력
두 강아지가 모두 깨어 있는 동안 둘 사이 거리의 최솟값을 소수점 아래 여섯째 자리까지 반올림해 출력한다.