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

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

설거지

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

요약
접시를 씻고 말리는 명령마다 옮긴 접시의 순서가 뒤집힐 때, 최종적으로 말린 더미를 위에서 아래 순서로 출력한다.
난이도

보통10점 중 5점

유형
시뮬레이션, 스택, 구현, 연결 리스트
정답자
아직 제출이 없습니다

문제

Bessie와 Canmuu가 산더미처럼 쌓인 더러운 접시 NN개(1≤N≤10,0001 \le N \le 10{,}000)를 함께 치우려고 합니다. Bessie는 접시를 씻고, Canmuu는 물기를 닦습니다.

각 접시에는 11번부터 NN번까지 서로 다른 번호가 붙어 있습니다. 처음에는 모든 접시가 하나의 씻지 않은 더미로 쌓여 있으며, 11번 접시가 맨 위, NN번 접시가 맨 아래에 있습니다.

두 사람은 명령 목록에 따라 번갈아 작업합니다. 각 명령은 종류 CiC_i(1≤Ci≤21 \le C_i \le 2)와 개수 DiD_i(1≤Di≤N1 \le D_i \le N)로 이루어집니다.

  • Ci=1C_i = 1 (씻기): Bessie는 씻지 않은 더미의 맨 위에서 접시를 한 번에 하나씩 DiD_i개 집어 씻은 뒤, 씻었지만 닦지 않은 더미의 맨 위에 쌓습니다. 하나씩 옮기므로 순서가 뒤집힙니다.
  • Ci=2C_i = 2 (닦기): Canmuu는 씻었지만 닦지 않은 더미의 맨 위에서 접시를 한 번에 하나씩 DiD_i개 집어 물기를 닦은 뒤, 다 치운 더미의 맨 위에 쌓습니다. 이때도 순서가 뒤집힙니다.

모든 명령은 항상 처리할 접시가 충분히 있으며, 마지막 명령이 끝나면 모든 접시가 씻기고 닦인 상태가 됩니다. 다 치운 더미를 맨 위부터 아래로 순서대로 출력하세요.

예를 들어 접시가 55개라고 합시다. 씻지 않은 더미는 처음에 다음과 같습니다.

1  <- 맨 위
2
3
4
5  <- 맨 아래

"씻기 3, 닦기 2, 씻기 2, 닦기 3" 명령을 차례로 수행하면, 다 치운 더미는 맨 위부터 아래로 다음 순서가 됩니다.

1  <- 맨 위
4
5
2
3  <- 맨 아래

입력

  • 첫째 줄: 씻고 닦을 접시의 개수 NN.
  • 둘째 줄부터: 각 줄에 명령 종류 CiC_i와 개수 DiD_i가 공백으로 구분되어 주어집니다.

출력

  • 11번째 줄부터 NN번째 줄까지: ii번째 줄에는 다 치운 더미에서 맨 위부터 세어 ii번째 접시의 번호를 출력합니다.

예제1

  1. 예제 1

    입력
    5
    1 3
    2 2
    1 2
    2 3
    
    예상 출력
    1
    4
    5
    2
    3