세이브 슬롯


답안 제출

Points: 50 (partial)
시간 제한: 1.0s
메모리 제한: 64M

문제 유형
허용된 언어
C

문제

게임 세이브 슬롯이 M개 있다. 슬롯 번호는 0번부터 M-1번까지다. 각 슬롯은 비어 있거나 플레이어 정보를 담는다. 플레이어 정보는 다음과 같다.

name hp gold

명령은 다음 네 가지다.

SET i name hp gold : i번 슬롯에 플레이어 정보를 저장한다.
COPY a b           : a번 슬롯을 b번 슬롯에 복사한다.
DAMAGE i d         : i번 슬롯이 비어 있지 않으면 hp를 d만큼 줄인다.
PRINT i            : i번 슬롯의 내용을 출력한다.
  • COPY a b는 슬롯의 "비어 있는지 여부"까지 그대로 복사한다. 즉 빈 슬롯을 복사하면 대상 슬롯도 빈 슬롯이 된다.
  • DAMAGE 후 hp가 음수가 되면 0으로 맞춘다.
  • 빈 슬롯에 DAMAGE를 하면 아무 일도 일어나지 않는다.

입력

M Q
command
...

출력

PRINT 명령마다 한 줄씩 출력한다. 빈 슬롯이면 EMPTY를, 그렇지 않으면 name hp gold를 출력한다.

제한

1 <= M <= 20
1 <= Q <= 100
0 <= i, a, b < M
name 길이 <= 20
0 <= hp <= 10000
0 <= gold <= 100000
0 <= d <= 10000

예제 입력

3 7
SET 0 hero 100 50
COPY 0 1
DAMAGE 1 30
PRINT 0
PRINT 1
COPY 2 1
PRINT 1

예제 출력

hero 100 50
hero 70 50
EMPTY

코멘트

현재 작성된 코멘트가 없습니다.