Ir al contenido (saltar navegación)

Punto dentro de círculos

Tiempo máximo: 1,000-2,000 sMemoria máxima: 4096 KiB
Dibujo recursivo

Un objeto geométrico es fractal cuando, entre otras cosas, es autosimilar, es decir, su forma está construida a base de copias más pequeñas de la misma figura.

En muchos casos esos objetos geométricos se pueden definir mediante algoritmos recursivos, aunque si se hace así hay que poner un "caso base" para que esa recursión termine. Ese caso base suele expresarse en base a la longitud de alguna de las primitivas con las que se construye el objeto.

Un ejemplo de dibujo recursivo comienza pintando un círculo de radio R en el centro del área de dibujado, es decir en la posición (0, 0). Después vuelve a pintarse el mismo dibujo cuatro veces, en las posiciones (R, 0), (−R, 0), (0, R) y (0, −R) pero utilizando círculos de radio R/2. Esos cuatro dibujos, a su vez, consistirán en círculos tras los que se pintan cuatro copias de sí mismo con la longitud de sus radios reducidos a la mitad… hasta llegar a ese caso base en el que los círculos son de radio 1.

Para garantizar que siempre terminaremos dibujando círculos de radio 1, eso sí, la división que utilizaremos será división entera por lo que si el primer círculo es de radio 5, los cuatro siguientes serán de radio 2 y los siguientes 16 de radio 1. Los puristas dirían que entonces el dibujo no es autosimilar, pero el resultado es un dibujo con algunas "imperfecciones" que no quedan mal a la vista.

Con esta definición, un punto dado en el plano puede quedar dentro de varios círculos. ¿De cuántos?

Entrada

La entrada estará compuesta de distintos casos de prueba, cada uno en una línea.

Cada caso de prueba consiste en tres números. El primero R indica el radio del primer círculo del dibujo recursivo (1 ≤ R ≤ 108). Los dos siguientes representan las coordenadas enteras del punto por el que se pregunta (−2×108 ≤ X,Y ≤ 2×108).

Salida

Para cada caso de prueba se escribirá una línea con un número que indica dentro de cuántos círculos está el punto dado. Si el punto está tocando la circunferencia, también se considera que está dentro del círculo.

Entrada de ejemplo

1 1 0
1 1 1
10 -2 8

Salida de ejemplo

1
0
2