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

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

잡지 배달

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

요약
세 대의 차가 L1에서 출발해 2,3,...,N 순서를 지키며 배달해야 하며, 한 번에 한 대만 움직일 수 있을 때 전체 배달 완료 시간의 최솟값을 구한다.
난이도

어려움10점 중 8점

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

문제

테헤란의 한 택배 회사가 잡지를 테헤란의 NN개 장소로 배달해야 한다. 장소는 L1L_1부터 LNL_N까지 번호가 매겨져 있다. 회사는 이 배달에 자동차 3대를 투입한다. 시각 00에 자동차 3대와 잡지는 모두 L1L_1에 있다. L1L_1에는 잡지가 충분히 있어 자동차는 원하는 만큼 실을 수 있다. 모든 장소에 잡지 한 부씩을 배달해야 하며, 다음 규칙을 지켜야 한다.

  • 모든 i=2,…,Ni = 2, \dots, N에 대해, LiL_i로의 배달은 Li−1L_{i-1}로의 배달이 끝난 뒤에만 이루어질 수 있다.
  • 어느 순간에도 자동차 3대 중 오직 한 대만 이동할 수 있고, 나머지 두 대는 각자의 장소에서 멈춰 있다.

자동차 한 대가 LiL_i와 LjL_j 사이를 (어느 방향으로든) 이동하는 데 걸리는 시간은 양의 정수 Di,jD_{i,j}이다.

모든 NN개 장소에 배달이 완료되는 시각이 최소가 되도록 배달 일정을 짜야 한다. 그 최소 완료 시각을 구하는 프로그램을 작성하라.

입력

입력에는 이 문제의 인스턴스가 MM개 들어 있다 (1≤M≤101 \le M \le 10). 첫 줄에 MM이 주어진다. 각 인스턴스가 차례로 이어진다.

각 인스턴스의 첫 줄에는 NN이 주어진다 (N≤30N \le 30). 이어지는 N−1N-1개의 줄 중 ii번째 줄(i=1,…,N−1i = 1, \dots, N-1)에는 j=i+1,…,Nj = i+1, \dots, N에 대한 Di,jD_{i,j} 값들이 공백으로 구분되어 주어진다. 거리는 대칭이다(Di,j=Dj,iD_{i,j} = D_{j,i}).

출력

각 인스턴스마다 한 줄씩, 총 MM개의 줄을 출력한다. 각 줄에는 해당 인스턴스에서 모든 NN개 장소에 잡지를 배달하는 데 걸리는 최소 시간을 출력한다.

예제3

  1. 예제 1

    입력
    1
    5
    10 20 3 4
    5 10 20
    8 18
    19
    
    예상 출력
    22
    
  2. 예제 2

    입력
    1
    1
    
    예상 출력
    0
    
  3. 예제 3

    입력
    1
    2
    7
    
    예상 출력
    7