앨범정리
시간 제한2초메모리 제한512 MB
앨범 트리에서 추가, 삭제, 사진 삽입, 이동 명령을 처리하며 각 명령마다 삭제된 앨범과 사진 수를 세어 출력한다.
문제
지혜는 컴퓨터에 있는 사진들을 정리하기 위해 앨범정리 프로그램을 만들었다. 지혜가 만든 앨범정리 프로그램에는 기본적으로 "album" 앨범이 존재하며 "album" 앨범은 절대로 삭제할 수 없다. 프로그램을 실행시키면 "album" 앨범부터 시작하여 명령어들을 통해 앨범 삭제/추가, 사진 삭제/추가, 현재앨범 이동 등을 할 수 있다. 앨범정리 프로그램은 다음과 같은 명령어들로 구성되어 있다. 수행할 명령어의 개수 이 주어질 때 각 명령어 수행 후 문자열 출력이 필요한 명령어에 대해서 문자열을 출력한다.
-
mkalb
-
명령어 수행후: 현재 앨범에 속해있는 앨범 중 동일한 이름을 가진 앨범이 존재하여 앨범이 생성되지 않았으면 "duplicated album name"을 출력합니다. 그렇지 않다면 아무것도 출력하지 않습니다.
-
mkalb
- 현재 앨범에 의 이름을 가진 앨범을 생성합니다.
- 현재 앨범에 속해있는 앨범 중 동일한 이름을 가진 앨범이 존재하면 앨범을 생성하지 않습니다.
-
-
rmalb
-
명령어 수행후: 삭제된 앨범의 개수와 사진의 개수를 공백으로 구분하여 출력합니다.
-
rmalb
- 현재 앨범에 속해있는 앨범 중 의 이름을 가진 앨범이 존재한다면, 해당 앨범을 삭제합니다.
- 삭제된 앨범에 속한 모든 앨범과 사진들 또한 삭제됩니다.
-
rmalb -1
- 현재 앨범에 속해있는 앨범이 존재한다면, 이름이 사전순으로 가장 빠른 앨범을 삭제합니다.
- 삭제된 앨범에 속한 모든 앨범과 사진들 또한 삭제됩니다.
-
rmalb 0
- 현재 앨범에 속해있는 모든 앨범을 삭제합니다.
- 삭제된 앨범에 속한 모든 앨범과 사진들 또한 삭제됩니다.
-
rmalb 1
- 현재 앨범에 속해있는 앨범이 존재한다면, 이름이 사전순으로 가장 늦은 앨범을 삭제합니다.
- 삭제된 앨범에 속한 모든 앨범과 사진들 또한 삭제됩니다.
-
-
insert
-
명령어 수행후: 현재 앨범에 속해있는 사진 중에 동일한 이름을 가진 사진이 존재하여 사진이 삽입되지 않았으면 "duplicated photo name"을 출력합니다. 그렇지 않다면 아무것도 출력하지 않습니다.
-
insert
- 현재 앨범에 의 이름을 가진 사진을 삽입합니다.
- 현재 앨범에 속해있는 사진 중 동일한 이름을 가진 사진이 존재하면 사진을 삽입하지 않습니다.
-
-
delete
-
명령어 수행후: 삭제된 사진의 개수를 출력합니다.
-
delete
- 현재 앨범에 속해있는 사진 중 의 이름을 가진 사진이 존재한다면, 해당 사진을 삭제합니다.
-
delete -1
- 현재 앨범에 속해있는 사진이 존재한다면, 이름이 사전순으로 가장 빠른 사진을 삭제합니다.
-
delete 0
- 현재 앨범에 속해있는 모든 사진을 삭제합니다.
-
delete 1
- 현재 앨범에 속해있는 사진이 존재한다면, 이름이 사전순으로 가장 늦은 사진을 삭제합니다.
-
-
ca
-
명령어 수행후: 현재 앨범 이름을 출력합니다.
-
ca
- 현재 앨범에 속해있는 앨범 중 의 이름을 가진 앨범으로 이동합니다.
- 현재 앨범에 속해있는 앨범 중 의 이름을 가진 앨범이 없다면 현재 앨범에 머무릅니다.
-
ca ..
- 현재 앨범의 상위 앨범으로 이동합니다.
- 현재 앨범이 최상위 앨범인 "album" 앨범이라면 현재 앨범에 머무릅니다.
-
ca /
- 최상위 앨범인 "album" 앨범으로 이동합니다.
-
"A가 B에 속해있다"라는 것은 A의 바로 하위에 B가 있다는 것을 의미합니다. 만약 A가 B에 속해있고, B가 C에 속해있는 경우, A는 C에 속해 있는 것이 아닙니다.
입력
첫째 줄에 수행할 명령어의 개수 이 주어진다.
다음 줄부터 줄에 걸쳐 앨범정리 프로그램의 명령어가 주어진다.
출력
문제 본문에 나와있는 앨범정리 프로그램 명령어의 설명에 따라 적절한 문자열을 출력한다.
제한
- 1 ≤ ≤ 105
- 1 ≤ 의 길이 ≤ 20
- 는 공백을 포함하지 않은 알파벳 소문자로만 이루어져 있다.