Wind of Change
시간 제한10초메모리 제한1024 MB
같은 정점 집합 위의 두 가중 트리에서 거리를 두 트리 거리의 합으로 정의할 때, 각 정점마다 다른 정점까지의 최솟값을 구한다.
문제
이 문제의 원래 제목은 "Tree Product Metric Voronoi Diagram Query Without One Point"이다.
크기 인 두 가중치 트리 가 주어지며, 각 정점에는 의 번호가 붙어 있다. 를 트리 에서 노드 에서 로 가는 최단 경로의 가중치 합으로 정의하고, 도 같은 방식으로 정의하자.
크기 인 점 집합을 생각하자. 맨해튼 거리와 비슷하게(실제로 이는 그 일반화이다), 두 점 사이의 거리를 두 거리의 합 로 정의할 수 있다. 각 에 대해 점 에서 가장 가까운 점을 구하자. 즉, 각 에 대해 를 구해야 한다.
입력
첫 줄에 두 트리의 정점 수를 나타내는 정수 이 주어진다. ()
다음 개의 줄에는 첫 번째 트리의 정보가 주어진다. 각 줄에는 세 정수 가 주어지며, 이는 두 정점 를 잇는 가중치 의 간선이 있음을 나타낸다. ()
그다음 개의 줄에는 두 번째 트리의 정보가 같은 형식으로 주어진다.
출력
개의 줄을 출력한다. 각 줄에는 정수 하나가 들어간다. 번째 줄에는 점 에 대한 답을 출력한다.