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

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

보고서 복원

면접 대비

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

요약
공백이 제거된 매출 보고서를 복원한다. 숫자열을 숫자로 나누어 보고서 구조에 맞는 해 중 정수 목록이 사전순으로 가장 작은 복원을 출력한다.
난이도

보통10점 중 6점

유형
백트래킹, 완전 탐색, 구현, 그리디
정답자
아직 제출이 없습니다

문제

주말 저녁, John은 Mary에게 급한 매출 보고서를 보내 달라고 부탁했습니다. 휴가를 떠나기 직전이라 마음이 급했던 Mary는 매출 시트를 이메일에 그대로 복사해 붙여 넣고 전송한 뒤, 휴대폰을 끄고 2주 동안 연락이 닿지 않는 곳으로 떠났습니다.

John이 메일을 열어 보니 모든 공백이 사라져 있었습니다. 다행히 그는 보고서의 형식을 정확히 기억하고 있었습니다.

  • 첫 줄은 머리글로, 제품 코드 P1 P2 ... PN 뒤에 단어 Totals가 옵니다. 제품 번호는 1부터 N까지 연속입니다.
  • 그다음 줄들(마지막 줄 제외)은 각각 한 명의 판매자를 나타냅니다. 줄은 판매자 이름(알파벳으로만 이루어진 한 단어)으로 시작해, N개 제품의 판매 수량을 순서대로 나열하고, 마지막에 그 판매자의 행 합계(N개 수량의 합)로 끝납니다.
  • 마지막 줄은 표식 TP로 시작해, 각 제품의 총 판매량(모든 판매자에 대한 열 합계)을 나열하고, 끝에 총합계(열 합계들의 합)를 적습니다.

모든 수량은 음이 아닌 정수입니다. 0은 한 자리 0으로 적고, 양수에는 앞자리 0이 없습니다. 어떤 판매자 이름도 TP로 시작하지 않습니다.

공백이 사라졌기 때문에 같은 숫자열과 일치하는 보고서가 여러 개일 수 있습니다. John이 보고서를 복원하도록 도와주세요. 가능한 복원이 여럿이면 사전순으로 가장 작은 것을 출력합니다(정의는 출력 참고).

입력

첫 줄에는 보고서의 개수 C가 주어집니다. 각 보고서는 공백이 모두 제거된 상태로 연속된 줄에 주어집니다: 머리글 한 줄, 판매자마다 한 줄, 그리고 TP 줄.

제약:

  • 1≤N≤51 \le N \le 5 (보고서당 제품 수);
  • 보고서당 판매자는 최대 4명;
  • 각 판매자 이름은 1~10자의 영문자(대소문자);
  • 각 판매자는 제품마다 1000 미만의 수량을 판매;
  • 어떤 판매자 이름도 TP로 시작하지 않음.

출력

각 보고서에 대해 원래의 각 줄을 한 줄씩, 항목을 공백 하나로 구분하여 출력하고 줄 끝에는 공백을 두지 않습니다. 보고서 사이에 빈 줄을 넣지 않습니다.

입력과 일치하는 복원이 여럿이면 사전순으로 가장 작은 것을 출력합니다. 두 후보 보고서를 비교하려면, 모든 정수를 읽는 순서대로 나열합니다 — 각 판매자 행은 N개의 수량과 그 뒤의 행 합계를 (주어진 판매자 순서로), 그다음 합계 행은 열 합계들과 마지막 총합계를 나열합니다. 이렇게 만든 두 정수 수열을 앞에서부터 원소별로 비교하여, 처음으로 달라지는 위치에서 값이 더 작은 보고서를 선택합니다.

예제2

  1. 예제 1

    입력
    2
    P1P2P3Totals
    Amanda121100131
    Charles5141772
    Monique14121238
    TP1862629241
    P1P2Totals
    Ingrid9519851936
    Candid49212504
    Peter10313
    Camila000
    TP145310002453
    
    예상 출력
    P1 P2 P3 Totals
    Amanda 121 10 0 131
    Charles 51 4 17 72
    Monique 14 12 12 38
    TP 186 26 29 241
    P1 P2 Totals
    Ingrid 951 985 1936
    Candid 492 12 504
    Peter 10 3 13
    Camila 0 0 0
    TP 1453 1000 2453
    
  2. 예제 2

    입력
    1
    P1P2P3Totals
    Ana5102035
    Ben100200300600
    TP105210320635
    
    예상 출력
    P1 P2 P3 Totals
    Ana 5 10 20 35
    Ben 100 200 300 600
    TP 105 210 320 635