아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

모든 정사각형

시간 제한1초메모리 제한128 MB

요약
시작 크기 k에서 모서리에 재귀적으로 놓인 정사각형 중 질의점을 안이나 경계에 품은 개수를 셉니다.
난이도

보통10점 중 5점

유형
재귀, 기하
정답자
아직 제출이 없습니다

문제

기하학에서 정사각형의 중심점은 언제나 하나로 정해진다. 격자 위에서는 정사각형의 한 변이 홀수 개의 점을 지날 때만 그렇다. 홀수는 모두 2k+12k+1 꼴로 쓸 수 있으므로, 한 변이 점 2k+12k+1개로 이루어진 정사각형을 크기가 kk인 정사각형이라고 부른다.

정사각형 무늬는 다음 규칙으로 만든다.

  1. 가장 큰 정사각형의 크기는 kk이고(한 변은 점 2k+12k+1개), 크기가 1024인 격자(한 변은 점 2049개)의 한가운데에 놓인다.
  2. 정사각형의 크기는 가장 작은 것이 1, 가장 큰 것이 512이므로 1≤k≤5121 \le k \le 512이다.
  3. 크기가 s>1s > 1인 정사각형은 네 꼭짓점 각각을 중심으로 크기가 s/2s / 2인 정사각형을 하나씩 둔다. 나눗셈은 정수 나눗셈이라서 9/2=49 / 2 = 4이다. 크기가 1인 정사각형은 꼭짓점에 아무것도 두지 않는다.
  4. 격자의 왼쪽 위 모서리 좌표는 (0,0)(0, 0)이다.

kk가 정해지면 무늬도 하나로 정해진다. 아래 그림은 k=15k = 15일 때의 무늬다.

격자의 한 점은 정사각형 0개 이상에 둘러싸인다. 점이 어떤 정사각형의 경계 위에 있으면 그 정사각형에 둘러싸인 것으로 센다.

kk와 점의 좌표를 읽어 그 점을 둘러싸는 정사각형이 몇 개인지 구하는 프로그램을 작성하시오.

입력

입력의 각 줄에는 정수 세 개가 주어진다. 차례대로 kk, 점의 xx좌표, 점의 yy좌표이며 1≤k≤5121 \le k \le 512, 0≤x,y≤20480 \le x, y \le 2048이다. 마지막 줄에는 0 0 0이 주어지고, 이 줄은 질의가 아니다.

출력

입력의 질의 한 줄마다 한 줄씩 출력한다. 각 줄에는 주어진 점을 둘러싸는 정사각형의 개수를 출력한다.

예제2

  1. 예제 1

    입력
    500 113 941
    0 0 0
    
    예상 출력
    5
    
  2. 예제 2

    입력
    15 1024 1024
    15 1024 1039
    15 1035 1035
    15 1024 1041
    0 0 0
    
    예상 출력
    1
    1
    4
    0