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

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

레시피

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

요약
각 재료의 양에 상수를 곱한 값을 정수 또는 기약분수 형태로 출력한다.
난이도

쉬움10점 중 2점

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

문제

리처드 스톨먼(Richard Stallman)은 소스 코드뿐 아니라 자신의 요리 레시피도 즐겨 공유하는 것으로 알려져 있다. 그래서 프로그래머 몇 명을 더 먹이려고 레시피의 양을 늘려야 할 때가 잦은데, 이때 모든 재료의 양에 일정한 상수 배율을 곱한다. 이 계산을 매번 손으로 하다 보면 지치기도 하고, 분수가 섞여 있어 실수도 생긴다. 음식이 잘못되면 배고픈 프로그래머들이 짜증을 내고 집중력을 잃어 빌드를 깨뜨리기 십상이다. 이를 막기 위해, 레시피 변환을 자동으로 처리하는 프로그램을 작성하여라.

입력

첫째 줄에 데이터 집합의 개수 KK가 주어진다. 이어서 KK개의 데이터 집합이 주어지며, 각 집합은 아래 형식의 레시피 하나를 나타낸다.

각 레시피의 첫째 줄에는 두 정수 II와 CC가 주어진다. II는 재료의 개수, CC는 곱할 상수 배율이다. 그다음 II개의 줄에는 재료가 한 줄에 하나씩 주어지며, 각 줄은 원래 레시피에서의 사용량을 세 정수 ww, nn, dd로 나타낸다.

  • ww는 정수 단위의 개수이다. 예를 들어 밀가루의 경우 w=2w = 2는 2컵을 뜻한다.
  • nn과 dd는 분수 부분을 나타낸다. 밀가루의 경우 n=1n = 1, d=4d = 4이면 1/41/4컵을 더 쓴다는 뜻이다.

한 재료 줄에서 ww와 nn은 공백으로 구분되고, nn과 dd는 슬래시 하나로 구분된다(즉 n/d 형태). 분모 dd는 항상 11, 22, 33, 44, 88 중 하나이다.

출력

각 데이터 집합마다 먼저 Data Set x:를 한 줄에 출력한다. 여기서 xx는 데이터 집합의 번호이며 11부터 시작한다. 이어지는 II개의 줄에는 각 재료의 새로운 양을 출력한다.

  • 분수 부분이 없으면 하나의 정수로 출력한다.
  • 분수 부분이 있으면 기약분수로 나타내고, 정수 부분과 분수 부분을 공백 하나로 구분하여 정수 n/d 형태로 출력한다(정수 부분이 00일 수도 있다).

서로 다른 데이터 집합 사이에는 빈 줄을 하나 넣는다.

예제1

  1. 예제 1

    입력
    2
    5 2
    2 3/4
    0 1/8
    3 0/1
    1 1/2
    0 2/3
    4 3
    1 1/4
    2 1/2
    0 1/3
    12 1/2
    
    예상 출력
    Data Set 1:
    5 1/2
    0 1/4
    6
    3
    1 1/3
    
    Data Set 2:
    3 3/4
    7 1/2
    1
    37 1/2