자리 배정
면접 대비시간 제한1초메모리 제한256 MB
C열 R행 격자에서 왼쪽 아래부터 시계 방향 안쪽 나선으로 K번째 관객이 앉는 좌석 (x, y)를 구하고 수용 인원을 넘으면 0을 출력합니다.
- 난이도
쉬움10점 중 3점
- 유형
- 시뮬레이션
- 정답자
- 아직 제출이 없습니다
문제
어떤 공연장에는 좌석이 가로 개, 세로 개인 격자로 놓여 있다. 각 좌석의 번호는 그 격자 좌표 로 나타낸다.
아래 그림은 가로 7개, 세로 6개인 좌석 배치이다. 단위 사각형 하나가 좌석 하나이고, 안에 적힌 가 그 좌석의 번호이다. 가장 왼쪽 아래 좌석의 번호는 이고, 가장 오른쪽 위 좌석의 번호는 이다.
이 공연장에 들어가려고 많은 사람이 대기줄에 서 있다. 기다리는 사람들은 맨 앞에서부터 1, 2, 3, 4 순으로 대기번호표를 받았다. 우리는 대기번호를 가진 사람들을 좌석부터 시작해 시계 방향으로 돌면서 비어 있는 좌석에 순서대로 배정한다. 규칙을 더 자세히 쓰면 다음과 같다.
먼저 첫 번째 사람, 곧 대기번호 1인 사람을 좌석 에 배정한다. 그 다음부터는 위쪽 좌석으로 올라가면서 배정한다. 위쪽에 빈 좌석이 더 없으면 오른쪽으로 가면서 배정한다. 오른쪽에 빈 좌석이 더 없으면 아래쪽으로 내려가면서 배정한다. 아래쪽에 빈 좌석이 더 없으면 왼쪽으로 가면서 남은 빈 좌석을 배정한다. 왼쪽에 빈 좌석이 더 없으면 다시 위쪽으로 올라가면서 배정하고, 모든 좌석이 배정될 때까지 이 과정을 반복한다.
아래 그림은 공연장에서 대기번호 1번부터 42번까지의 관객이 좌석에 배정된 결과이다.
공연장의 크기를 나타내는 자연수 와 이 주어질 때, 대기 순서가 인 관객에게 배정될 좌석 번호 를 찾는 프로그램을 작성하라.
입력
첫째 줄에 공연장의 격자 크기를 나타내는 정수 와 이 공백 하나를 사이에 두고 차례대로 주어진다. 두 값의 범위는 이다.
둘째 줄에 어떤 관객의 대기번호 가 주어진다. 단 이다.
출력
대기번호가 인 관객에게 배정될 좌석번호 를 구해서 두 값 와 를 공백 하나를 사이에 두고 출력한다.
모든 좌석이 이미 배정되어 이 대기번호의 관객에게 좌석을 배정할 수 없으면 0(숫자 영)을 출력한다.