문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

6030 : 스택으로 수열 만들기

•시간제한: 2.000 S •메모리제한: 256 MB •제출: 0 •통과: 0 •만든사람: suakii

6030 : 스택으로 수열 만들기

시간 2.000s · 메모리 256MB · 제출 0 · 정답 0

문제 설명

1부터 $N$까지의 수를 스택에 차례대로 넣었다가(push) 빼는(pop) 동작을 반복하여, 주어진 임의의 목표 수열을 만들어낼 수 있는지 판별하십시오.
스택에 넣는 연산은 항상 오름차순(1, 2, ..., N 순서)으로만 가능합니다.

입력 설명

첫째 줄에 수열의 크기 $N$이 주어집니다. ($1 \le N \le 100,000$)
둘째 줄에 1부터 $N$까지의 수로 이루어진 순열(목표 수열)이 공백으로 구분되어 주어집니다.

출력 설명

수열을 만들 수 있다면 연산 순서에 맞게 push 또는 pop을 줄바꿈으로 출력합니다.
만약 수열을 만들어내는 것이 불가능하다면 단 한 줄에 NO를 출력합니다.

입력 예시
COPY
복사되었습니다!

8
4 3 6 8 7 5 2 1

출력 예시
COPY
복사되었습니다!

push
push
push
push
pop
pop
push
push
pop
push
push
pop
pop
pop
pop
pop

도움

1부터 $N$까지의 값을 증가시키면서 스택에 push합니다. 스택의 top이 목표 수열의 현재 가리키는 값과 같다면 계속 pop을 시도합니다.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘