아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

젊고 가난하고 바쁜 두 사람

시간 제한1초메모리 제한128 MB

요약
하코다테와 도쿄에서 출발한 두 사람이 08시부터 18시 사이에 한 도시에서 30분 이상 만나고 각자 귀가하는 가장 싼 왕복 표를 구합니다.
난이도

보통10점 중 7점

유형
최단 경로, 그래프, 동적 계획법
정답자
아직 제출이 없습니다

문제

켄과 케이코는 아르바이트에 치여 사는 학생이라 시간도 돈도 넉넉하지 않다. 켄은 하코다테에 살고 케이코는 도쿄에 산다. 둘은 만나고 싶지만 같은 날 안에 각자의 일터로 돌아가야 하고, 차비도 아껴야 한다. 두 사람이 가장 싸게 만나는 방법을 찾아라.

켄은 하코다테에서, 케이코는 도쿄에서 출발한다. 두 사람은 모든 열차의 시각과 요금을 알고 있고, 각자 사는 도시를 포함해 어느 도시에서든 만날 수 있다. 다만 08:00보다 먼저 출발할 수 없고, 18:00까지는 각자의 도시로 돌아와야 한다. 환승에는 시간이 걸리지 않아서 도착한 그 분에 바로 다음 열차를 탈 수 있다. 두 사람은 같은 도시에서 30분 이상 함께 있으려고 한다.

시각표에는 도시가 최대 100개, 직통 노선이 최대 2000개 들어갈 수 있다. 가능한 일정을 하나씩 만들어 보는 방법으로는 제한 시간 안에 끝나지 않는다.

입력

입력은 여러 개의 데이터 집합으로 이루어진다.

각 데이터 집합의 첫 줄에는 시각표에 실린 노선의 개수를 나타내는 정수가 하나 주어진다. 이 값은 2000 이하이다.

이어지는 줄에는 노선이 한 줄에 하나씩 다음 형식으로 주어진다.

출발도시 HH:MM 도착도시 HH:MM 요금

도시 이름은 알파벳 16글자 이하이고 첫 글자만 대문자이다. 출발 시각과 도착 시각은 시와 분을 각각 두 자리로 적고 콜론으로 구분하며, 00:00부터 23:59까지이다. 도착 시각은 출발 시각보다 반드시 늦다. 노선 하나의 요금은 1 이상 10000 이하의 정수이다. 각 항목은 공백으로 구분한다.

숫자 0만 있는 줄이 나오면 입력이 끝난다.

출력

데이터 집합마다 가능한 최소 총요금을 한 줄에 출력한다. 이 값은 두 사람이 이용하는 모든 노선의 요금을 더한 것이다.

만날 방법이 없는 데이터 집합에는 0을 출력한다.

예제1

  1. 예제 1

    입력
    5
    Hakodate 08:15 Morioka 12:30 2500
    Morioka 14:05 Hakodate 17:30 2500
    Morioka 15:30 Hakodate 18:00 3000
    Morioka 14:30 Tokyo 17:50 3000
    Tokyo 08:30 Morioka 13:35 3000
    4
    Hakodate 08:15 Morioka 12:30 2500
    Morioka 14:04 Hakodate 17:30 2500
    Morioka 14:30 Tokyo 17:50 3000
    Tokyo 08:30 Morioka 13:35 3000
    18
    Hakodate 09:55 Akita 10:53 3840
    Hakodate 14:14 Akita 16:09 1920
    Hakodate 18:36 Akita 19:33 3840
    Hakodate 08:00 Morioka 08:53 3550
    Hakodate 22:40 Morioka 23:34 3550
    Akita 14:23 Tokyo 14:53 2010
    Akita 20:36 Tokyo 21:06 2010
    Akita 08:20 Hakodate 09:18 3840
    Akita 13:56 Hakodate 14:54 3840
    Akita 21:37 Hakodate 22:35 3840
    Morioka 09:51 Tokyo 10:31 2660
    Morioka 14:49 Tokyo 15:29 2660
    Morioka 19:42 Tokyo 20:22 2660
    Morioka 15:11 Hakodate 16:04 3550
    Morioka 23:03 Hakodate 23:56 3550
    Tokyo 09:44 Morioka 11:04 1330
    Tokyo 21:54 Morioka 22:34 2660
    Tokyo 11:34 Akita 12:04 2010
    0
    
    예상 출력
    11000
    0
    11090