자연수를 취해 시계 반대 방향으로 나선형으로 올리면 다음과 같은 무한한 나선형으로 끝납니다.
....--57--56
|
36--35--34--33--32--31--30 55
| | |
37 16--15--14--13--12 29 54
| | | | |
38 17 4---3---2 11 28 53
| | | | | | |
39 18 5 0---1 10 27 52
| | | | | |
40 19 6---7---8---9 26 51
| | | |
41 20--21--22--23--24--25 50
| |
42--43--44--45--46--47--48--49
그 나선형의 숫자가 주어지면 당신의 임무는 이웃을 결정하는 것입니다. 위, 왼쪽, 오른쪽 및 아래 요소를 의미합니다.
예
살펴보면 27다음과 같은 이웃이 있음 을 알 수 있습니다.
- 위 :
28 - 왼쪽:
10 - 권리:
52 - 이하:
26
따라서 출력은 다음과 같습니다. [28,10,52,26]
규칙
- 입력 수있을 것입니다 하나에 기본 I / O 형식
- 출력은 임의의 (일관된!) 순서로 해당 숫자 4 개 이웃의 목록 / 행렬 / ..입니다.
- 0 대신 1로 시작하는 나선으로 작업 할 수 있지만 답에 지정해야합니다.
예
출력 형식 [above,left,right,below]이며 0 기반 나선형을 사용합니다.
0 -> [3,5,1,7]
1 -> [2,0,10,8]
2 -> [13,3,11,1]
3 -> [14,4,2,0]
6 -> [5,19,7,21]
16 -> [35,37,15,17]
25 -> [26,24,50,48]
27 -> [28,10,52,26]
73 -> [42,72,74,112]
101 -> [100,146,64,102]
2000 -> [1825,1999,2001,2183]
1000000 -> [1004003,1004005,999999,1000001]