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

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

차량 개조 (Pimp My Ride)

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

요약
각 작업의 기본 비용과, 어떤 작업을 먼저 끝냈을 때 다음 작업에 붙는 추가 요금이 주어질 때, 모든 작업을 끝내는 최소 총비용을 구한다.
난이도

보통10점 중 6점

유형
동적 계획법, 비트 연산
정답자
아직 제출이 없습니다

문제

거리에는 대대적인 정비가 필요한 자동차, 오토바이, 트럭을 비롯한 온갖 차량이 넘쳐난다. 당신은 대형 방송국에서 넉넉한 예산을 지원받아 이 차량들을 개조하는 일을 맡았다.

할 일이 워낙 많아, 도색이나 실내 장식 같은 개별 작업은 전문 정비소에 맡기기로 했다. 각 정비소는 특정 종류의 작업만 처리하므로 작업마다 서로 다른 정비소가 필요하다. 게다가 정비소는 차의 상태가 이미 좋을수록 더 많은 비용을 청구하는 경향이 있다. 예를 들어 도색 담당자는 실내가 온통 가죽으로 꾸며진 차에 웃돈을 붙일 수 있다. 이러한 추가 요금은 이미 끝난 작업이 무엇인지에 따라 달라지므로, 당신은 작업 순서를 잘 정해 비용을 아끼려 한다.

작업은 11번부터 nn번까지 번호가 매겨져 있다. 각 작업 ii에는 기본 요금이 있고, i≠ji \ne j인 순서쌍 (i,j)(i, j)마다 추가 요금 sijs_{ij}(미국 달러)가 정의된다. 즉, 작업 jj가 작업 ii보다 먼저 완료된 경우에 한해 작업 ii에 대해 sijs_{ij}만큼을 더 지불해야 한다. 어떤 작업 순서의 총비용은 모든 작업에 대해, 각 작업의 기본 요금과 그 작업을 수행하는 시점에 이미 끝나 있는 작업들에 대한 추가 요금을 더한 값이다. 모든 작업을 끝내는 데 드는 최소 총비용을 구하라.

입력

첫 줄에는 시나리오의 개수가 주어진다.

각 시나리오는 작업 수 nn(1≤n≤141 \le n \le 14)이 적힌 줄로 시작한다. 이어지는 nn개의 줄은 비용 행렬을 나타내며, 각 줄에는 정확히 nn개의 정수가 있다. ii번째 줄(1≤i≤n1 \le i \le n)에서 ii번째 정수는 작업 ii의 기본 요금이고, jj번째 정수(j≠ij \ne i)는 작업 jj가 먼저 완료되었을 때 작업 ii에 적용되는 추가 요금이다. 모든 요금과 추가 요금은 100000100000 이하의 음이 아닌 정수이다.

출력

각 시나리오에 대해 먼저 다음 줄을 출력한다.

Scenario #i:

여기서 ii는 11부터 시작하는 시나리오 번호이다. 그다음 줄을 출력한다.

You have officially been pimped for only $p

여기서 pp는 최소 총비용이다. 서로 이웃한 시나리오 사이에는 빈 줄을 하나 출력한다.

예제4

  1. 예제 1

    입력
    2
    2
    10 10
    9000 10
    3
    14 23 0
    0 14 0
    1000 9500 14
    
    예상 출력
    Scenario #1:
    You have officially been pimped for only $30
    
    Scenario #2:
    You have officially been pimped for only $42
    
  2. 예제 2

    입력
    1
    1
    42
    
    예상 출력
    Scenario #1:
    You have officially been pimped for only $42
    
  3. 예제 3

    입력
    1
    2
    5 0
    0 7
    
    예상 출력
    Scenario #1:
    You have officially been pimped for only $12
    
  4. 예제 4

    입력
    3
    1
    5
    1
    10
    2
    1 1
    1 1
    
    예상 출력
    Scenario #1:
    You have officially been pimped for only $5
    
    Scenario #2:
    You have officially been pimped for only $10
    
    Scenario #3:
    You have officially been pimped for only $3