자료 구조의 왕
시간 제한1초메모리 제한1024 MB
격자에서 로봇이 한 방향으로 움직이며 지나는 칸의 풀을 없애고, 칸별 풀 유무와 남은 풀의 개수를 질의에 맞춰 출력합니다.
문제
흐즈로는 어느 날 집 주변 잔디밭에 무성하게 자란 잔디를 보고, 새로 산 잔디깎이 로봇의 성능을 시험해 보기로 했습니다. 잔디밭은 개의 행과 개의 열로 이루어진 2차원 격자이며, 번째 행의 번째 열에 있는 칸을 로 표기합니다. 처음에는 잔디밭의 모든 칸에 잔디가 있습니다.
잔디깎이 로봇에 정수 , , , 를 입력하면, 로봇은 에서 출발해 방향으로 이동하도록 설정됩니다. 이때 이 항상 성립합니다. 즉, 로봇은 일정한 방향을 따라 상하좌우로 인접한 칸으로만 이동합니다. 로봇은 다음과 같이 작동합니다.
- 에 잔디가 없다면 잔디 깎기를 종료합니다.
- 에 있는 잔디를 제거합니다.
- 조건 , , , 중 하나 이상이 참이라면 잔디 깎기를 종료합니다.
- 를 로 바꾼 뒤, 1번으로 돌아갑니다.
흐즈로는 성능 시험의 일환으로 다음과 같은 쿼리 개에 대한 답을 구해야 합니다.
- : 방향이 로 설정된 잔디깎이 로봇을 에서 출발시킨 뒤, 그 로봇의 잔디 깎기가 끝날 때까지 기다립니다.
- : 이 쿼리 이전에 시작된 잔디 깎기가 순서대로 모두 끝난 뒤, 의 상태를 출력합니다. 에 잔디가 있으면 상태는 , 잔디가 없으면 상태는 입니다.
- : 잔디밭에 잔디가 남아 있는 칸의 개수를 출력합니다.
모든 쿼리에 정확히 답하지 못하면 로봇이 올바르게 작동하는지 확인할 수 없습니다. 주어진 개의 쿼리에 정확히 답하는 프로그램을 작성하세요.
입력
첫 번째 줄에 행의 개수 , 열의 개수 , 쿼리의 개수 가 공백으로 구분되어 주어집니다. (, )
두 번째 줄부터 개의 줄에 걸쳐 쿼리가 한 줄에 하나씩 주어집니다. 모든 쿼리는 본문에서 설명한 종류 중 하나입니다.
모든 쿼리에 대해 , 입니다. 모든 번 쿼리에 대해 입니다.
출력
모든 번, 번 쿼리에 대해 정답을 한 줄에 하나씩 출력합니다.