Estoy mirando por la ventana de mi ático hacia el patio de mi vecino. Tienen un perro encadenado a un poste en el centro del patio. El perro corre por el patio pero siempre está al final de su cadena, por lo que termina dejando una huella en la tierra. Normalmente, esta pista sería perfectamente circular, pero mis vecinos tienen otros postes en su patio donde la cadena del perro queda atrapada. Cada vez que la cadena del perro golpea un poste, el perro comienza a girar alrededor del nuevo poste con cualquier longitud de cadena que quede como su radio. Dado que los polos, el perro y la cadena tienen un ancho cero (mis vecinos son matemáticos), la cadena puede enrollarse indefinidamente alrededor de un poste sin que el radio del círculo se acorte. El perro también puede pasar a través de la cadena (simplemente no su collar) si la cadena está en su camino. Después de observar esta rareza por un tiempo, decido escribir un código para simular el perro de mi vecino. El código tomará las ubicaciones de un poste central, al que está encadenado el perro, las ubicaciones de los otros postes en el patio de mis vecinos, la longitud de la cadena y la ubicación inicial del perro, y mostrará un diagrama que indica el camino donde el perro ha desgastado la hierba. Puede suponer que cualquier combinación de lo siguiente es constante (y por lo tanto no los toma como entrada):
Ubicación del poste al que está encadenado el perro.
Longitud de la cadena
Lugar de inicio del perro
El sol está saliendo, por lo que el espacio en el piso de mi ático iluminado por la ventana se está reduciendo, lo que me da cada vez menos espacio para escribir mi código. Intente minimizar el recuento de bytes de su código para que tenga espacio para redactarlo en mi piso del ático.
Casos de prueba
Aquí supongo que el perro comienza 3 unidades al sur desde el polo al que está encadenado (el punto rojo), ubicado en 0,0
. He indicado dónde están los polos con puntos para mayor claridad, no necesita incluirlos en su salida.
Poles at 1,2 -1,2
Poles at 0,.5
Poles at 0,1 1,1 -2,1 -1,-.5
Poles at 0,1 1,1
{0,.5}
volteado verticalmente sin el círculo más grande. El perro esencialmente comienza atrapado en el segundo poste.
{0,-.5}
?