문제
TPS(3인칭 슈팅 게임)는 주인공의 1인칭 시점이 아닌 주인공을 관찰하는 카메라의 3인칭 시점으로 플레이하는 게임을 의미한다. TPS 게임의 플레이어는 자유롭게 움직이는 카메라의 시점으로 게임을 플레이하기 때문에 더욱 다양한 시점에서 게임을 즐길 수 있다. 다음과 같은 TPS 게임을 시뮬레이션해서 입력에 따라 주인공과 카메라의 위치가 어떻게 변하는지 알아보자.
주인공과 카메라
이 TPS 게임에는 2차원 좌표계에 위치한 주인공과 카메라가 존재한다. 주인공과 카메라의 위치를 정수 좌표 로 나타낼 수 있다. 게임이 시작할 때 주인공은 에 위치해 있다. 카메라는 항상 주인공을 중심으로 하는 반지름이 인 원 위에 위치하며, 게임이 시작할 때 카메라는 에 위치해 있다. 카메라는 항상 주인공이 위치한 방향을 바라본다.
이 게임의 플레이어가 키보드나 마우스를 통해서 입력할 때마다 주인공 혹은 카메라(혹은 둘 다)의 위치가 다음과 같이 바뀐다. 이동 후에도 주인공과 카메라는 정수 좌표에 위치한다.
W키를 입력하면 주인공과 카메라 모두 카메라가 바라보는 방향을 앞으로 하여 앞으로 만큼 이동한다.A키를 입력하면 주인공과 카메라 모두 카메라가 바라보는 방향을 앞으로 하여 왼쪽으로 만큼 이동한다.S키를 입력하면 주인공과 카메라 모두 카메라가 바라보는 방향을 앞으로 하여 뒤로 만큼 이동한다.D키를 입력하면 주인공과 카메라 모두 카메라가 바라보는 방향을 앞으로 하여 오른쪽으로 만큼 이동한다.- 마우스를 오른쪽으로 움직이면 카메라는 주인공을 중심으로 하는 반지름이 인 원 위에서 시계 방향으로 만큼 회전한다.
- 마우스를 왼쪽으로 움직이면 카메라는 주인공을 중심으로 하는 반지름이 인 원 위에서 반시계 방향으로 만큼 회전한다.
게임이 시작한 후의 플레이어 입력이 입력한 순서대로 주어질 때, 각각의 입력에 대해 입력이 끝난 후의 주인공과 카메라의 위치를 구해보자.
입력
첫째 줄에 정수 이 주어진다.
둘째 줄부터 개의 줄에 걸쳐 플레이어 입력이 입력한 순서대로 주어진다. 플레이어 입력은 W, A, S, D, MR, ML 중 하나이다. W, A, S, D는 키보드의 해당하는 키를 입력했음을 의미하고, MR은 마우스를 오른쪽으로, ML은 마우스를 왼쪽으로 움직였음을 의미한다.
출력
개의 줄에 걸쳐 번째 입력이 끝난 후에 주인공의 좌표가 , 카메라의 좌표가 일 때, 를 공백으로 구분하여 출력한다.
예제 입력 1
3
MR
W
D
예제 출력 1
0 0 -1 0
1 0 0 0
1 -1 0 -1
예제에 대한 주인공과 카메라의 움직임을 그림으로 표현하면 아래와 같다.
마우스를 오른쪽으로 움직임
게임이 시작한 후에 플레이어가 마우스를 오른쪽으로 움직이면 위 그림과 같이 카메라가 시계 방향으로 만큼 회전한다.
W 키를 입력함
그 후에 W 키를 입력하면 위 그림과 같이 주인공과 카메라 모두 카메라가 바라보는 방향을 앞으로 하여 앞으로 만큼 이동한다.
D 키를 입력함
마지막으로 D 키를 입력하면 위 그림과 같이 주인공과 카메라가 모두 카메라가 바라보는 방향을 앞으로 하여 오른쪽으로 만큼 이동한다.
예제 입력 2
6
W
D
ML
S
MR
A
예제 출력 2
0 1 0 0
1 1 1 0
1 1 2 1
2 1 3 1
2 1 2 0
1 1 1 0
- 문제를 만든 사람
- 201902648_강지훈
- 알고리즘 분류
코드를 제출하려면 로그인이 필요합니다.
로그인