닥터는 달렉 부대에서 탈출하기 위해 나선형의 움직임으로 다양한 공간의 주머니를 여행하여 스핀으로 보내기로 결정했습니다.
이용 가능한 시공간의 특성에 따라, 닥터는 공간의 높이와 너비 및 나선을 시작하는 그의 진입 점을 TARDIS에 입력해야합니다.
공간 섹션은 1부터 시작하여 왼쪽에서 오른쪽으로, 위에서 아래로 순차적 인 정수로 채워진 h x w 그리드 로 구상 될 수 있습니다 .
시작 위치는 행과 열에 대해 rc 로 제공됩니다 ... 이로부터 TARDIS의 소프트웨어는 r 열 c 에서 시계 반대 방향으로 바깥쪽으로 나선으로 얻은 정수 목록을 위쪽으로 시작하여 추출해야 합니다 ...
의사의 동반자는 TARDIS를 프로그래밍하여 형식으로 4 개의 숫자를 가져 와서 height width row column
아래 설명 된 나선형 움직임에 맞게 TARDIS가 이동해야하는 공간을 결정하도록하는 것입니다.
입력 1
5 5 3 3
(3,3 위치에서 시작하는 5 x 5 그리드)
출력 1
13 8 7 12 17 18 19 14 9 4 3 2 1 6 11 16 21 22 23 24 25 20 15 10 5
출력 설명
원본 그리드
생성 된 나선
입력 2
2 4 1 2
(1,2 위치에서 시작하는 2 x 4 그리드)
출력 2
2 1 5 6 7 3 8 4
출력 설명
나선형이 그리드 주위를 돌면서 각각의 출력을 생성해야하므로 약간 다릅니다.
원본 그리드
생성 된 나선
규칙 :
이것은 코드 골프이므로 코드 길이가 가장 짧아 승인 표시가 나타납니다.
위의 예제를 사용하여 코드를 테스트해야합니다. 해당 출력을 제공하지 않으면 문제가있는 것입니다.
골프 및 골프화 된 코드 버전 모두 귀하의 답변에 제공되어야합니다 ...
행운을 빕니다!