텔레포트

시간 제한2초메모리 제한512 MB

요약
좌표를 가진 N개 도시 중 일부는 특별하며, 이동 비용은 맨해튼 거리이고 특별한 도시끼리는 텔레포트(T)로도 갈 수 있다. M개의 최단 경로 질의에 답한다.
난이도

보통10점 중 6점

유형
그래프, 최단 경로, 수학, 구현
정답자
아직 제출이 없습니다

문제

2차원 평면 위에 NN개의 도시가 있다. 일부 도시는 특별한 도시이다. (r1,c1)(r_1, c_1)에 있는 도시에서 (r2,c2)(r_2, c_2)에 있는 도시로 가는 이동 시간은 ∣r1−r2∣+∣c1−c2∣|r_1 - r_2| + |c_1 - c_2|와 같다. 만약, 두 도시가 특별한 도시라면, 텔레포트를 이용해서 이동할 수도 있다. 텔레포트에 걸리는 시간은 TT이다.

두 도시의 쌍 MM개가 주어졌을 때, 최소 이동 시간을 구해보자.

입력

첫째 줄에 도시의 수 NN, 텔레포트하는데 걸리는 시간 TT가 주어진다.

둘째 줄부터 NN개의 줄에 도시의 정보를 의미하는 세 정수 s,x,ys, x, y가 1번 도시부터 NN번 도시까지 순서대로 주어진다. ss가 1인 경우에는 특별한 도시라는 의미이고, 0인 경우는 특별한 도시가 아니라는 의미이다. (x,y)(x, y)는 도시의 좌표이다.

다음 줄에는 MM이 주어지고, 다음 MM개의 줄에는 두 도시 AA와 BB가 주어진다.

출력

총 MM개의 줄에 걸쳐서 AA에서 BB에 가는 최소 이동 시간을 출력한다.

제한

  • 2≤N≤1,0002 \le N \le 1,000
  • 1≤T≤2,0001 \le T \le 2,000
  • 1≤M≤1,0001 \le M \le 1,000
  • 0≤x,y≤1,0000 \le x, y \le 1,000
  • A≠BA \neq B
  • 두 도시의 좌표가 같은 경우는 없다.

예제2

  1. 예제 1

    입력
    6 3
    0 1 2
    0 5 1
    1 3 3
    1 1 5
    0 3 5
    1 7 5
    5
    1 2
    1 5
    1 6
    3 4
    4 2
    
    예상 출력
    5
    5
    6
    3
    7
    
  2. 예제 2

    입력
    6 2
    1 1 1
    1 1 2
    1 1 3
    1 2 1
    1 2 2
    1 2 3
    6
    1 2
    2 3
    3 4
    4 5
    5 6
    6 1
    
    예상 출력
    1
    1
    2
    1
    1
    2