GameJam
우측 버튼을 눌러 기기를 연결해주세요.
문제 정보
GameJam
보통
유형
프로그래밍
배점
100
참여자
619
정답률
92.7%
21
109

문제


플레이어는 GameJam에 참가했다. GameJam은 현장에서 즉석으로 팀을 꾸려 게임의 규칙을 만든 뒤, 생각한 규칙을 코드로 옮겨서 게임을 만들어내는 대회이다.

플레이어가 속한 팀은 보드로 즐길 수 있는 간단한 보드게임을 만들었다. 게임의 진행 방법과 규칙은 다음과 같다.

  1. 게임은 한 변의 길이가 인 격자 보드 위에서 진행한다. 보드는 한 변의 길이가 인 개의 칸으로 나누어져 있다.
  2. 각 칸에는 <command> 에 해당하는 방향으로 <count> 칸만큼 한 칸씩 이동하라는 지시가 적혀있다. 
  3. 플레이하는 사람은 처음에 보드의 칸 중 하나에 말을 올려놓는다.
  4. 각 칸에 적힌 지시대로 말을 이동한다. 만약 이동 중에 보드 밖으로 나가게 된다면 반대쪽의 첫 번째 칸으로 이동한다.
    예를 들어 맨 오른쪽 칸에서 오른쪽으로 이동해야 한다면 해당 행의 맨 왼쪽 칸으로 이동하고, 맨 아래 칸에서 아래쪽으로 이동해야 한다면 해당 열의 맨 위쪽 칸으로 이동하고, 이동 거리가 남아 있다면 계속 이동한다.
  5. 만약 이동하다가 자신의 말이 이미 한 번이라도 방문한 칸을 다시 지나야 할 경우에는 게임이 종료된다. 그 외의 경우에는 게임이 종료될 때까지 위의 4번 단계를 반복한다.
  6. 게임의 점수는 시작한 칸을 포함하여, 게임이 종료되기 전까지 말이 방문한 서로 다른 칸의 개수이다.

플레이어는 GameJam의 최종 발표 때 게임을 시연해 보기 위해, 구름이와 미리 연습 게임을 진행해 보려고 한다. 플레이어와 구름이가 각각의 게임에서 처음에 말을 올려둔 칸이 주어졌을 때, 두 사람 중 누가 더 높은 점수를 획득했는지를 구해보자. 단 플레이어와 구름이는 별개의 게임이다.


입력


첫째 줄에 격자 보드의 크기 이 주어진다.
둘째 줄에는 구름이가 말을 올려둔 칸의 좌표 가 공백을 두고 주어진다. 보드의 번째 행, 번째 열에 말을 올려두었다는 뜻이다.
셋째 줄에는 플레이어가 말을 올려둔 칸의 좌표 가 공백을 두고 주어진다. 보드의 번째 행, 번째 열에 말을 올려두었다는 뜻이다.
다음 개의 줄에는 보드의 각 칸에 적혀있는 지시 사항이 주어진다. 각 줄마다 개의 지시 사항이 <count><command> 형식으로 공백을 두고 주어지고, 번째 줄에서 번째로 주어지는 지시 사항은 보드의 번째 행, 번째 열의 정보를 의미한다. <count> 는 이동 횟수, <command> 는 이동 방향을 말한다.


  • <count> 는  이상 이하의 정수이다.
  • <command> 는 UDRL 중 하나이다. 각각 위쪽, 아래쪽, 오른쪽, 왼쪽을 의미한다. 이 문제에서 위쪽은 행 번호가 감소하는 방향이다.
  • 입력에서 주어지는 모든 수는 정수이다.


출력


구름이가 게임에서 승리하면 goorm 과 구름이가 얻은 점수를 공백을 두고 출력하고, 플레이어가 승리하면 player 와 플레이어가 얻은 점수를 공백을 두고 출력한다. 두 사람이 비기는 테스트 케이스는 주어지지 않는다.

입/출력 예시
:
공백
:
줄 바꿈
:
예시 1
입력
3
11
33
1L2L1D
2U3R1D
2R2R1U
출력
goorm4
예시 2
입력
4
42
24
1L3D3L1U
2D2L4U1U
2D2L4U3L
4D4D1R4R
출력
player6
⋇ 입출력 형식을 잘 지켜주세요
Q&A
누구나 질문하고 답변할 수 있는 Q&A입니다. 문제를 풀며 어려웠던 부분에 대해 질문해보세요.
이 문제에 관한 질문 (0)