만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Banikoara로 가는 가장 빠른 길

면접 대비

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

요약
마을들을 잇는 양방향 가중 도로가 주어질 때, 출발 마을에서 도착 마을까지의 최단 이동 거리를 구한다.
난이도

보통10점 중 4점

유형
그래프, 최단 경로, 해시맵, 힙
정답자
아직 제출이 없습니다

문제

Codjo: Banikoara로 떠날 준비가 됐어.

Bossi: Parakou를 지나서 가자.

Assiba: 아니야, Banikoara로 가는 가장 빠른 길은 Djougou를 지나는 길이야.

도시 사이를 잇는 도로의 목록과 각 도로의 길이가 주어진다. 도시 A에서 도시 B까지 이동하는 최단 거리를 구하는 프로그램을 작성하라.

도로는 양방향이다. 입력에 적힌 도로 한 줄은 어느 방향으로도 지날 수 있다. 두 도시를 잇는 도로가 여러 개일 수 있고, 양 끝이 같은 도시인 도로가 있을 수도 있다.

입력

첫째 줄에 데이터 집합의 개수 PP (1≤P≤10001 \le P \le 1000)가 주어진다.

각 데이터 집합의 첫 줄에는 그 집합에 남은 줄의 수 NN (1≤N≤5001 \le N \le 500), 공백, 출발 도시의 이름, 공백, 도착 도시의 이름이 주어진다. 이어지는 NN개의 줄에는 도로가 하나씩 주어지며, 각 줄은 한쪽 도시의 이름, 공백, 다른 쪽 도시의 이름, 공백, 두 도시 사이의 거리(킬로미터)로 이루어진다.

거리는 11 이상 10000001000000 이하의 정수다. 도시 이름은 [a-z], [A-Z], 기호 "-"로 이루어진 길이 3030 이하의 문자열이며, 대문자와 소문자를 구분한다. 출발 도시에서 도착 도시로 가는 경로는 항상 존재한다.

출력

각 데이터 집합마다 한 줄을 출력한다. 한 줄은 출발 도시의 이름, 공백, 도착 도시의 이름, 공백, 두 도시 사이의 최단 거리로 이루어진다.

출발 도시와 도착 도시가 같으면 최단 거리는 00이다.

예제7

  1. 예제 1

    입력
    1
    4 Dassa-Zoume Banikoara
    Dassa-Zoume Djougou 270
    Banikoara Djougou 211
    Parakou Banikoara 284
    Parakou Dassa-Zoume 225
    
    예상 출력
    Dassa-Zoume Banikoara 481
    
  2. 예제 2

    입력
    1
    3 Parakou Parakou
    Parakou Djougou 100
    Djougou Banikoara 50
    Parakou Banikoara 400
    
    예상 출력
    Parakou Parakou 0
    
  3. 예제 3

    입력
    1
    1 Cotonou Porto-Novo
    Cotonou Porto-Novo 32
    
    예상 출력
    Cotonou Porto-Novo 32
    
  4. 예제 4

    입력
    1
    5 Kandi Malanville
    Kandi Malanville 90
    Kandi Malanville 75
    Malanville Kandi 61
    Kandi Nikki 10
    Nikki Malanville 12
    
    예상 출력
    Kandi Malanville 22
    
  5. 예제 5

    입력
    1
    5 Save Save-Ville
    Save Save 7
    Save Bohicon 5
    Bohicon Save-Ville 6
    Save Save-Ville 20
    Save-Ville Save-Ville 3
    
    예상 출력
    Save Save-Ville 11
    
  6. 예제 6

    입력
    1
    4 Ouidah Tanguieta
    Allada Ouidah 18
    Come Allada 25
    Tanguieta Come 40
    Ouidah Tanguieta 200
    
    예상 출력
    Ouidah Tanguieta 83
    
  7. 예제 7

    입력
    3
    2 Natitingou Kandi
    Natitingou Kandi 214
    Natitingou Kandi 199
    1 Lokossa Lokossa
    Cotonou Ouidah 40
    6 Abomey-Calavi Nikki
    Abomey-Calavi Bohicon 120
    Bohicon Parakou 180
    Parakou Nikki 100
    Abomey-Calavi Save 160
    Save Parakou 140
    Nikki Bohicon 320
    
    예상 출력
    Natitingou Kandi 199
    Lokossa Lokossa 0
    Abomey-Calavi Nikki 400