Logo
(追記) (追記ここまで)

32402번 - TPS

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB28818517469.048%

문제

TPS(3인칭 슈팅 게임)는 주인공의 1인칭 시점이 아닌 주인공을 관찰하는 카메라의 3인칭 시점으로 플레이하는 게임을 의미한다. TPS 게임의 플레이어는 자유롭게 움직이는 카메라의 시점으로 게임을 플레이하기 때문에 더욱 다양한 시점에서 게임을 즐길 수 있다. 다음과 같은 TPS 게임을 시뮬레이션해서 입력에 따라 주인공과 카메라의 위치가 어떻게 변하는지 알아보자.

주인공과 카메라

이 TPS 게임에는 2차원 좌표계에 위치한 주인공과 카메라가 존재한다. 주인공과 카메라의 위치를 정수 좌표 $(x,y)$로 나타낼 수 있다. 게임이 시작할 때 주인공은 $(0,0)$에 위치해 있다. 카메라는 항상 주인공을 중심으로 하는 반지름이 1ドル$인 원 위에 위치하며, 게임이 시작할 때 카메라는 $(0,-1)$에 위치해 있다. 카메라는 항상 주인공이 위치한 방향을 바라본다.

이 게임의 플레이어가 키보드나 마우스를 통해서 입력할 때마다 주인공 혹은 카메라(혹은 둘 다)의 위치가 다음과 같이 바뀐다. 이동 후에도 주인공과 카메라는 정수 좌표에 위치한다.

  • W 키를 입력하면 주인공과 카메라 모두 카메라가 바라보는 방향을 앞으로 하여 앞으로 1ドル$만큼 이동한다.
  • A 키를 입력하면 주인공과 카메라 모두 카메라가 바라보는 방향을 앞으로 하여 왼쪽으로 1ドル$만큼 이동한다.
  • S 키를 입력하면 주인공과 카메라 모두 카메라가 바라보는 방향을 앞으로 하여 뒤로 1ドル$만큼 이동한다.
  • D 키를 입력하면 주인공과 카메라 모두 카메라가 바라보는 방향을 앞으로 하여 오른쪽으로 1ドル$만큼 이동한다.
  • 마우스를 오른쪽으로 움직이면 카메라는 주인공을 중심으로 하는 반지름이 1ドル$인 원 위에서 시계 방향으로 90ドル^{\circ}$만큼 회전한다.
  • 마우스를 왼쪽으로 움직이면 카메라는 주인공을 중심으로 하는 반지름이 1ドル$인 원 위에서 반시계 방향으로 90ドル^{\circ}$만큼 회전한다.

게임이 시작한 후의 플레이어 입력이 입력한 순서대로 주어질 때, 각각의 입력에 대해 입력이 끝난 후의 주인공과 카메라의 위치를 구해보자.

입력

첫째 줄에 정수 $N(1\le N\le 100)$이 주어진다.

둘째 줄부터 $N$개의 줄에 걸쳐 플레이어 입력이 입력한 순서대로 주어진다. 플레이어 입력은 W, A, S, D, MR, ML 중 하나이다. W, A, S, D는 키보드의 해당하는 키를 입력했음을 의미하고, MR은 마우스를 오른쪽으로, ML은 마우스를 왼쪽으로 움직였음을 의미한다.

출력

$N$개의 줄에 걸쳐 $i(1\le i\le N)$번째 입력이 끝난 후에 주인공의 좌표가 $(x_p,y_p),ドル 카메라의 좌표가 $(x_c,y_c)$일 때, $x_p,y_p,x_c,y_c$를 공백으로 구분하여 출력한다.

제한

예제 입력 1

3
MR
W
D

예제 출력 1

0 0 -1 0
1 0 0 0
1 -1 0 -1

예제에 대한 주인공과 카메라의 움직임을 그림으로 표현하면 아래와 같다.

마우스를 오른쪽으로 움직임

게임이 시작한 후에 플레이어가 마우스를 오른쪽으로 움직이면 위 그림과 같이 카메라가 시계 방향으로 90ドル^{\circ}$만큼 회전한다.

W 키를 입력함

그 후에 W 키를 입력하면 위 그림과 같이 주인공과 카메라 모두 카메라가 바라보는 방향을 앞으로 하여 앞으로 1ドル$만큼 이동한다.

D 키를 입력함

마지막으로 D 키를 입력하면 위 그림과 같이 주인공과 카메라가 모두 카메라가 바라보는 방향을 앞으로 하여 오른쪽으로 1ドル$만큼 이동한다.

예제 입력 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

힌트

출처

University > 충남대학교 > 2024 충남대학교 SW-IT Contest D번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /