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

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

차량 호출

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

요약
방향 도로의 이동 시간과 고정된 픽업 시각을 가진 예약 목록이 주어질 때, 모든 운행을 처리하는 데 필요한 최소 기사 수를 구한다.
난이도

보통10점 중 6점

유형
최단 경로, 그래프, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

Jamal은 새로 차량 호출 사업을 시작했다. 이 사업은 다음과 같이 운영된다. 고객이 원하는 출발 시각보다 적어도 1212시간 전에 출발지에서 도착지로 가는, 지정된 출발 시각에 시작하는 이동을 주문한다. Jamal은 과거에 합승을 고려한 적이 있지만, 진행 중인 팬데믹 때문에 현재는 주문된 각 이동이 다음 이동이 시작되기 전에 끝난다. Jamal의 회사에는 현재 서비스 지역의 배치와 각 도로를 주행하는 데 필요한 시간의 상한이 있다. 언젠가는 교통 데이터를 반영해 지도를 동적으로 만들고 싶지만, 지금은 고정 비용만 가지고 작업해야 한다.

각 이동이 미리 예약되기 때문에 Jamal의 회사는 경로 계획을 최적화하고 기사에게 매력적인 사업 모델을 제공할 수 있다. 회사는 다음과 같이 운영한다. 88시간마다 Jamal은 기사 집합을 선택해 한 교대 근무 동안 고객을 태우고 내려주도록 하며, 이는 고객이 원하는 일정에 맞춘다. 기사는 완료한 이동 수가 아니라 근무한 교대 수에 따라 급여를 받는다. Jamal은 이 모델이 현재 차량 호출 사업보다 기사에게 더 만족스럽다는 것을 알았다. 현재 사업에서 기사는 얼마나 많은 호출을 받을 수 있을지, 따라서 얼마를 벌지 알 수 없다. 반면 Jamal의 사업은 기사가 근무한 모든 교대에 대해 급여를 지급하므로, 기사는 승객이 호출하기를 차 안에서 기다리는 대신 교대를 근무하면 돈을 벌고, 근무가 필요 없으면 다른 일로 시간을 보낼 수 있다.

안타깝게도 Jamal은 사업가에 가까워 회사 코드 작성에 도움이 필요하다. 특히 8시간 창 안에서 주문된 이동 집합이 주어졌을 때 해당 교대에 고용해야 하는 최소 기사 수를 구하는 알고리즘이 없다. 이 중요한 작업을 도와줄 수 있는가?

그림 1: 예제 입력의 그림. 예약된 이동은 각각의 출발 시각과 함께 빨간 점선으로 표시된다. 최적해는 한 기사가 시각 00에 22에서 33으로 가는 이동을 완료한 뒤, 시각 88에 도착하도록 위치 11로 이동하고, 이어서 11에서 22로 가는 이동을 완료하는 것이다. 두 번째 기사는 33에서 44로 가는 이동을 완료할 수 있다.

입력

입력은 한 줄에 세 정수로 시작한다. nn (2≤n≤1002 \leq n \leq 100)은 서비스 지역 모델에서 승차 또는 도착 위치의 수, mm (1≤m≤n\*(n−1)1 \leq m \leq n\*(n-1))은 서비스 지역의 일방통행 도로 수, kk (1≤k≤10001 \leq k \leq 1000)는 반드시 수행해야 하는 요청된 이동 수이다. 다음 mm개 줄에는 각각 세 정수 uu, vv, ww (1≤u,v≤n1 \leq u,v \leq n, u≠vu \neq v, 1≤w<4801 \leq w < 480)가 주어지며, 위치 uu에서 위치 vv로 가는 데 ww분이 걸리는 도로가 있음을 나타낸다. 두 위치 uu와 vv 사이에는 uu에서 vv로 가는 도로와 vv에서 uu로 가는 도로가 모두 있을 수 있지만, 어느 두 위치 사이에도 한 방향으로는 도로가 최대 하나이다. 다음 kk개 줄에는 각각 세 정수 uu, vv, tt (1≤u,v≤n1 \leq u,v \leq n, u≠vu \neq v, 0≤t<4800 \leq t < 480)가 주어지며, 위치 uu에서 분 tt에 출발해 위치 vv로 가는 이동이 요청되었음을 나타낸다. 같은 출발 위치에서 같은 시각에 요청된 이동이 여러 개 있을 수 있고, 같은 도착 위치에 같은 시각에 도착하는 이동이 여러 개 있을 수 있다. 모든 위치는 다른 모든 위치에서 도달할 수 있음이 보장된다.

출력

모든 이동을 완료하기 위해 이 교대에 고용해야 하는 최소 기사 수를 나타내는 정수 하나를 출력한다. 도로는 필요한 만큼 많은 기사가 사용할 수 있다. 승차와 하차에 걸리는 시간은 00분이라고 가정한다. 같은 위치에서 승차하거나 하차하는 것은 이동을 지연시키지 않는다. 고용된 기사는 어떤 출발 위치로든 운전해 갈 수 있어 분 00에 어떤 이동이든 태울 준비가 되어 있고, 분 480480 이후에 끝나는, 분 480480 전에 요청된 이동도 완료할 의향이 있다고 가정한다. 고객은 원하는 승차 시각에 정확히 태워야 한다.

예제1

  1. 예제 1

    입력
    4 5 3
    1 2 3
    2 3 6
    3 1 2
    3 4 8
    4 3 9
    1 2 8
    2 3 0
    3 4 5
    
    예상 출력
    2