Logo
(追記) (追記ここまで)

28078번 - 중력 큐

시간 제한메모리 제한제출정답맞힌 사람정답 비율
0.5 초 1024 MB149643533229.381%

문제

처음에 왼쪽이 큐의 뒤, 오른쪽이 큐의 앞인 가로 방향의 빈 큐가 존재한다. 이 큐에서 공이나 가림막을 하나씩 큐의 뒤에 삽입하거나, 큐의 가장 앞에 있는 공이나 가림막을 꺼낼 수 있으며, 큐를 시계방향이나 반시계방향으로 90도 회전시킬 수 있다.

큐 안의 가림막은 중력의 영향을 받지 않지만, 큐 안의 공은 중력의 영향을 받는다. 따라서 큐를 세로 방향으로 회전시켰을 때, 큐의 가장 아래에 있는 가림막보다 아래에 있는 공들은 모두 떨어져 큐에서 꺼내지게 된다.

또한, 큐가 세로 방향이면 공을 새로 넣더라도 넣은 공 아래에 가림막이 존재하지 않는 경우 곧바로 큐에서 꺼내지게 된다.

$Q$개의 쿼리가 주어질 때, 처음 빈 상태의 큐에 주어진 쿼리들을 순서대로 수행하는 프로그램을 작성하시오.

입력

첫 번째 줄에 쿼리의 개수 $Q$가 주어진다.

두 번째 줄부터 $Q$개의 줄에 걸쳐 첫 번째 쿼리부터 순서대로 각 쿼리의 정보가 순서대로 주어진다.

  • push b: 큐의 뒤에 공 하나를 삽입한다.
  • push w: 큐의 뒤에 가림막 하나를 삽입한다.
  • pop: 큐에서 가장 앞쪽에 있는 공이나 가림막을 하나 꺼낸다. 큐가 빈 상태면 아무 일도 일어나지 않는다.
  • rotate l: 큐를 반시계 방향으로 90도 회전시킨다.
  • rotate r: 큐를 시계 방향으로 90도 회전시킨다.
  • count b: 현재 큐에 들어있는 공의 개수를 출력한다.
  • count w: 현재 큐에 들어있는 가림막의 개수를 출력한다.

출력

count b 쿼리와 count w 쿼리의 정답을 한 줄에 하나씩 순서대로 출력한다.

제한

  • 1ドル ≤ Q ≤ 500,000円$
  • 마지막 쿼리는 count b이다.

예제 입력 1

9
push b
push w
push b
push b
count b
count w
pop
rotate r
count b

예제 출력 1

3
1
2

예제 입력 2

13
push b
rotate r
count b
rotate r
push b
push w
rotate r
push b
push b
count b
rotate l
push b
count b

예제 출력 2

0
1
2

힌트

출처

University > 인하대학교 > 2023 인하대학교 프로그래밍 경진대회 (IUPC) > Contest E번

University > 인하대학교 > 2023 인하대학교 프로그래밍 경진대회 (IUPC) > Open Contest E번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /