[수업]달팽이

문제

screen captures

screen captures


풀이

범위는 항상 조심할것.

  • 여기서는 long으로 해줘야한다.
  • 물론 입력받을때도 마찬가지.
  • 또한 정사각형인지 판별은 매우 쉬우니까 패스.
p=0 : 1  
p=1 : 17 -> 4*(n-1)+1  
p=2 : 25 -> 4*((n-1)+(n-3))+1  
p=k : ? -> 4*((n-1)+(n-3)+(n-5)+...+(n-(2k-1)))+1  
=> 4(N-1), 4(N-3) ... 아이디어를 사용해서 해결
  • p는 네모난 껍질이라고 생각하면 되며, 0번째 껍질은 최외곽이며 첫번째 숫자가 1
  • p=1의 경우 1번째 껍질이며 첫번째 숫자가 17
  • …. 이런식으로 가면 공식을 구해낼 수 있다.

따라서 이 p를 활용해서 A, B의 위치를 추적하는 형식으로 알고리즘을 짜면 된다.

댓글남기기