프로그램 명: coci_stogovi
제한시간: 1 초

성열이는 N+1개의 스택을 만들려고 한다. 성열이는 우선 0번 스택(빈 스택)을 만든다. 그런 다음 1~N번 스택을 순서대로 만든다.

k번 스택은 v번 스택의 내용을 그대로 복사한 후 아래 세 가지 연산 중 하나를 적용해서 스택을 변형해서 만든다.

a. 스택에 k를 넣는다. (push)
b. 스택에서 원소 하나를 뺀다. (pop)
c. 다른 스택 w를 선택해서 자신과 w에 공통으로 들어있는 원소의 개수를 센다. (count)

평범한 방법으로 N개의 스택을 일일이 만들면 메모리가 부족할 수 있다. 보다 효율적으로 스택을 만드는 방법을 생각해보자.

입력 형식

위 형식에서 v와 w는 모두 0 이상 k-1 이하이다. 또, 연산 b를 사용할 경우, v번 스택은 비어있지 않음이 보장된다.

출력 형식

각 b 명령에 대해서는 뺀 원소의 값을 출력하며, 각 c 명령에 대해서는 자신과 w에 공통으로 들어있는 원소의 개수를 출력한다. 답은 한 줄에 하나씩 출력한다.

입출력 예

입력

5
a 0
a 1
b 2
c 2 3
b 4

출력

2
1
2

입력

11
a 0
a 1
a 2
a 3
a 2
c 4 5
a 5
a 6
c 8 7
b 8
b 8

출력

2
2
8
8

입력 예 1 설명
0번 스택은 {} (빈 스택)이다.
1번 스택은 {1}이고 2번 스택은 {1, 2}이다.
3번 스택은 {1, 2}에서 2를 뺀 {1}이다.
4번 스택은 {1, 2}이며 3번 스택에도 포함한 원소는 1 뿐이다.
5번 스택은 {1, 2}에서 2를 뺀 {1}이다. 

Mirko is playing with stacks. In the beginning of the game, he has an empty stack denoted with number 0. In the i-th step of the game he will choose an existing stack denoted with v, copy it and do one of the following actions: and in the stack denoted with w The newly created stack is denoted with i.

Mirko doesn’t like to work with stacks so he wants you to write a programme that will do it for him. For each operation of type b output the number removed from stack and for each operation of type c count the required numbers and output how many of them there are.

입력

출력

For each operation type b or c output the required number, each in their own line, in the order the operations were given in the input.

입출력 예

입력

5
a 0
a 1
b 2
c 2 3
b 4

출력

2
1
2

입력

11
a 0
a 1
a 2
a 3
a 2
c 4 5
a 5
a 6
c 8 7
b 8
b 8

출력

2
2
8
8

Clarification of the first example: In the beginning, we have the stack S0 = {}. In the first step, we copy S0 and place
number 1 on top, so S1 = {1}. In the second step, we copy S1 and place 2 on top of it, S2 = {1, 2}. In the third step we
copy S2 and remove number 2 from it, S3 = {1}. In the fourth step we copy S2 and denote the copy with S4, then count
the numbers appearing in the newly created stack S4 and stack S3, the only such number is number 1 so the solution is 1.
In the fifth step we copy S4 and remove number 2 from it, S5 = {1}.
출처:coci 2013/2014 5/6
번역:functionx

[질/답] [제출 현황] [푼 후(0)]
[ 채 점 ] [홈으로]  [뒤 로]