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

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

도서관 코드

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

요약
각 책에 대해 문자 폭 곱하기 라벨 길이 더하기 2가 책 너비 이하이면 horizontal, 아니면 vertical을 출력한다.
난이도

쉬움10점 중 1점

유형
구현
정답자
아직 제출이 없습니다

문제

한 도서관이 듀이 십진분류법(Dewey Decimal)에 따라 책 라벨을 새로 붙이고 있습니다. 라벨은 가능하면 가로로 인쇄하지만, 글자가 책의 너비보다 넓으면 세로로 인쇄합니다.

라벨은 고정폭(모노스페이스) 글꼴을 사용하므로 모든 글자의 너비는 ff mm로 같습니다. 가독성을 위해 인쇄된 글자 앞과 뒤에 각각 1 mm의 여백을 두어야 합니다. 따라서 라벨을 가로로 인쇄할 수 있는 조건은

f×L+2≤wf \times L + 2 \le w

입니다. 여기서 LL은 라벨 글자 수, ww는 책의 너비(mm)입니다. 이 조건을 만족하지 않으면 라벨은 세로로 인쇄해야 합니다.

각 도서관의 글자 너비, 각 책의 너비, 각 라벨의 글자가 주어질 때, 모든 책의 라벨이 가로로 인쇄되는지 세로로 인쇄되는지 판별하세요.

입력

입력은 여러 도서관의 정보로 이루어집니다.

각 도서관은 다음과 같이 주어집니다.

  • 첫 번째 줄에는 도서관의 이름(공백 없는 알파벳, 최대 20자)과, 글자 하나의 너비(mm)를 나타내는 정수 ff (1<f<81 < f < 8)가 공백으로 구분되어 주어집니다.
  • 다음 줄에는 이 도서관의 책 수를 나타내는 정수 cc가 주어집니다.
  • 이어지는 cc개의 줄에는 각각 한 권의 책 정보가 주어집니다. 책의 너비(mm)를 나타내는 정수 ww (5≤w≤505 \le w \le 50)와, 라벨에 표시할 글자(공백 없이 3자 이상 6자 이하)가 공백으로 구분되어 주어집니다.

입력의 마지막 줄은 # 0(#, 공백, 0)이며, 이 줄은 도서관 정보가 아니므로 처리하지 않습니다.

출력

각 도서관마다 먼저 도서관 이름 뒤에 공백과 단어 Library를 붙여 한 줄에 출력합니다. 그다음 입력에 주어진 순서대로 각 책에 대해 Book k horizontal 또는 Book k vertical을 한 줄씩 출력합니다. 여기서 kk는 그 도서관 목록에서 책의 순번(1부터 시작)이며, 라벨이 가로로 인쇄되면 horizontal, 그렇지 않으면 vertical을 출력합니다.

예제2

  1. 예제 1

    입력
    Auckland 3
    6
    11 811
    25 636.7
    38 330.94
    29 398.2
    16 398.6
    18 973.05
    Wellington 4
    2
    35 636
    12 398.2
    # 0
    
    예상 출력
    Auckland Library
    Book 1 horizontal
    Book 2 horizontal
    Book 3 horizontal
    Book 4 horizontal
    Book 5 vertical
    Book 6 vertical
    Wellington Library
    Book 1 horizontal
    Book 2 vertical
    
  2. 예제 2

    입력
    Testlib 2
    4
    8 123
    7 123
    9 1234
    6 12.4
    # 0
    
    예상 출력
    Testlib Library
    Book 1 horizontal
    Book 2 vertical
    Book 3 vertical
    Book 4 vertical