파블로 스퀘어슨의 고민

면접 대비

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

요약
단위 정사각형 N개를 기존 정사각형에 네 방향 중 하나로 차례로 붙이는 기록이 주어질 때, 완성된 도형의 너비와 높이를 구한다.
난이도

보통10점 중 4점

유형
시뮬레이션, 배열, 해시맵, 구현
정답자
아직 제출이 없습니다

문제

파블로 스퀘어슨은 잘 알려진 큐비즘 화가입니다. 올해 그의 작품 주제는 "정사각형"입니다.

그의 작업실 한가운데에는 아주 큰 탁자가 있고, 그 옆에는 모두 같은 크기의 정사각형 조각이 많이 쌓여 있습니다. 파블로는 먼저 정사각형 하나를 탁자에 올려놓습니다. 그런 다음 남은 정사각형들을 하나씩 차례로 놓는데, 언제나 이미 놓여 있는 어떤 정사각형의 한 변에 딱 맞닿도록 반듯하게 붙여 놓습니다. 어떤 정사각형도 다른 정사각형 위에 겹쳐 놓이지 않습니다.

작품이 완성되면 파블로는 그 작품을 담을 상자의 크기, 즉 작품의 가로 길이와 세로 길이를 알고 싶어 합니다. 파블로가 작품을 만든 과정이 기록으로 주어질 때, 완성된 작품의 가로 길이와 세로 길이를 계산하는 프로그램을 작성하세요. 각 정사각형의 한 변의 길이는 1입니다.

입력

입력은 여러 개의 데이터셋으로 이루어져 있습니다. 각 데이터셋은 파블로가 하나의 작품을 만든 과정을 나타내며, 형식은 다음과 같습니다.

N
n1 d1
n2 d2
...
nN-1 dN-1

첫 번째 줄에는 작품을 만드는 데 사용한 정사각형의 개수 NN이 주어집니다. NN은 200200보다 작은 양의 정수입니다.

나머지 N−1N-1개의 줄은 정사각형 배치 명령입니다. 정사각형에는 놓는 순서대로 번호를 붙입니다. 가장 먼저 놓는 정사각형의 번호는 00이고, 그 뒤에 놓는 정사각형은 순서대로 1,2,…,N−11, 2, \dots, N-1번입니다. 00번 정사각형에 대한 배치 명령은 주어지지 않습니다.

ii번째 명령 "ni din_i\ d_i"는 ii번 정사각형(1≤i≤N−11 \le i \le N-1)을 nin_i번 정사각형의 did_i 방향 옆에 붙여 놓으라는 뜻입니다. did_i는 방향을 나타내며, 00은 왼쪽, 11은 아래쪽, 22는 오른쪽, 33은 위쪽입니다.

입력의 끝은 00 하나만 있는 줄로 표시됩니다.

출력

각 데이터셋마다 완성된 작품의 가로 길이와 세로 길이를 공백 하나로 구분하여 한 줄에 출력합니다. 각 줄에는 그 외의 다른 문자가 포함되어서는 안 됩니다.

예제4

  1. 예제 1

    입력
    1
    5
    0 0
    0 1
    0 2
    0 3
    12
    0 0
    1 0
    2 0
    3 1
    4 1
    5 1
    6 2
    7 2
    8 2
    9 3
    10 3
    10
    0 2
    1 2
    2 2
    3 2
    2 1
    5 1
    6 1
    7 1
    8 1
    0
    
    예상 출력
    1 1
    3 3
    4 4
    5 6
    
  2. 예제 2

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

    입력
    2
    0 2
    0
    
    예상 출력
    2 1
    
  4. 예제 4

    입력
    2
    0 3
    0
    
    예상 출력
    1 2