천지창조
시간 제한8초메모리 제한1024 MB
이름이 붙은 N개의 점이 주어지고, 보로노이 인접 점끼리 공통 부분문자열 길이로 간선 가중치를 정한 뒤 최소 경로 질의와 부모 변경에 답합니다.
문제
신이 세상을 만든 첫째 날, 신은 지상을 만들고 지상에 부터 까지 번호가 붙은 개의 성물을 서로 다른 위치에 박아 넣었다. 이로써 지상에는 각 성물을 중심으로 하는 성지가 개 생겼다.
지상은 2차원 평면으로 나타낼 수 있다. 번 성물은 좌표 에 박혀 있다. 좌표 가 번 성물의 성지에 속하는 조건은 가 중 최솟값이 되는 것이다. 두 성지는 같은 좌표를 공유할 수 있다. 이때 두 성지의 중심이 되는 두 성물 사이에 연결이 생긴다. 두 성지가 공유하는 점들은 선분, 반직선, 또는 직선이 된다. 신은 선분이 생기면 그 길이가 모두 이상이 되도록 성물을 배치했다.
각 성물에는 이름 가 붙어 있다. 번 성물과 번 성물이 연결되면, 두 이름이 비슷한 정도만큼 연결이 강해진다. 은 다음을 뜻한다. 에서 길이가 인 연속 부분 문자열 중 하나가 에 연속해서 나타나고, 길이가 인 연속 부분 문자열은 에 하나도 나타나지 않는다. 와 에 같은 문자가 하나도 없으면 이다. 번과 번 사이에 연결이 있으면 가 연결의 세기가 된다.
신이 세상을 만든 둘째 날, 신은 천상을 만들고 천상에 부터 까지 번호가 붙은 개의 별을 박아 넣었다. 이 별들은 지상의 성물을 본떠 만들어졌고, 성물 간 연결 중 개를 본떠 별 사이의 연결도 만들어졌다. 하나의 성물은 하나의 별에 대응된다. 번 성물에 대응된 별의 번호를 라고 한다.
신은 처음에 번 성물을 본떠 번 별을 만들었다. 즉 이다. 그 뒤 번호 순서대로 나머지 별을 만들었다. 번 별을 만들 때는, 이미 별을 만든 개의 성물 중 하나와 아직 본뜨지 않은 개의 성물 중 하나를 잇는 연결 가운데 다음 순서로 고른다. 먼저 연결이 가장 강한 것, 여럿이면 이미 본뜬 별의 번호가 가장 큰 것, 그것도 여럿이면 아직 본뜨지 않은 성물의 번호가 가장 작은 것이다. 이렇게 고른 연결이 본떠진 번 성물과 아직 본뜨지 않은 번 성물을 잇고 있다면, 번 성물을 본떠 번 별을 만든다. 즉 이다. 가 먼저 만들어진 별이므로 를 의 부모 별이라고 부른다.
신이 세상을 만든 셋째 날, 신은 지상에 순례자들을 만들었다.
태초가 지나고 오랜 시간이 흐른 지금, 많은 순례자가 지상을 순례하고 있다. 그중 일부는 신께 허락을 구해 천상의 길을 통해 순례하기도 한다. 어떤 순례자가 지상의 좌표 에서 지상의 좌표 까지 천상의 길을 통해 이동하려 한다고 하자. 가 번 성지에 속하고 가 번 성지에 속하면, 순례자는 번 성지에서 육체를 떠나 정신체가 되어 번 별로 이동한다. 그다음 별 사이의 연결을 따라 번 별로 이동하고, 번 성지의 좌표 로 돌아와 다시 육체를 얻으면 순례를 마친다.
이렇게 순례를 마치면 육체적 피로는 없지만, 두 별 사이를 이동하는 동안 가장 멀었던 거리만큼 정신적 피로를 느낀다. 두 별 와 사이의 거리는 그 별들을 본뜬 성물의 영향을 받아 이다. 순례자는 정신적 피로를 최소화하도록 순례한다.
순례자들이 천상의 길을 이용하는 동안 별들도 이동하므로 천상의 길은 계속 바뀐다. 구체적으로는 어떤 별과 부모 별 사이의 연결이 끊어지고, 새로운 부모 별과 연결이 생긴다.
태초에 천상의 길이 어떻게 구성되었는지 구하라. 또 태초 이후 천상의 길을 이용하는 순례 계획과 천상의 길의 변화가 주어질 때, 순례자들이 느끼는 정신적 피로가 얼마인지 구하라.
입력
첫 번째 줄에 별의 개수 , 순례 계획의 개수 , 천상의 길이 변하는 횟수 가 주어진다.
다음 개의 줄 중 번째 줄에는 번 성물의 좌표를 나타내는 두 정수 , ()와 성물의 이름 가 주어진다. 이름은 영어 소문자로 이루어진 문자열이다. 같은 좌표에 서로 다른 두 성물이 놓이는 일은 없다.
다음 개의 줄에 각각 다음 형식 중 하나로 질의가 주어진다.
1 : 순례자가 지상의 좌표 에서 지상의 좌표 까지 천상의 길을 통해 순례를 계획한다. 이 순례를 진행할 때 느끼는 정신적 피로의 최솟값을 출력해야 한다. 입력은 을 만족한다. 와의 유클리드 거리가 이하인 점은 모두 하나의 성지에 속함이 보장된다. 도 마찬가지다.
2 : 번 별의 부모 별이 로 바뀐다. 입력은 을 만족한다.
출력
먼저 개의 줄에 걸쳐 태초에 천상의 길이 어떻게 구성되었는지 출력한다. 번째 줄에는 번 별에 대응된 성물의 번호 , 태초에 번 별의 부모 별이었던 별의 번호 , 그리고 번 성물과 번 별에 대응된 성물을 잇는 연결의 세기를 출력한다.
그다음 개의 줄에 걸쳐, 주어진 순서대로 순례 계획과 천상의 길의 변화를 처리했을 때 순례자가 느끼는 정신적 피로의 최솟값을 한 줄에 하나씩 출력한다.