Je regarde par la fenêtre de mon grenier dans la cour de mon voisin. Ils ont un chien enchaîné à un poteau au centre de la cour. Le chien court autour de la cour mais est toujours au bout de sa chaîne, donc il finit par laisser une trace dans la terre. Normalement, cette piste serait parfaitement circulaire, mais mes voisins ont d'autres poteaux dans leur cour sur lesquels la chaîne du chien est accrochée. Chaque fois que la chaîne du chien frappe un poteau, le chien commence à tourner autour du nouveau poteau avec la longueur de chaîne qui reste comme rayon. Puisque les pôles, le chien et la chaîne ont tous une largeur nulle (mes voisins sont des mathématiciens), la chaîne peut s'enrouler indéfiniment autour d'un pôle sans raccourcir le rayon du cercle. Le chien peut également passer à travers la chaîne (mais pas son collier) si la chaîne se trouve sur son chemin. Après avoir observé cette bizarrerie pendant un certain temps, je décide que j'écrirai du code pour simuler le chien de mon voisin. Le code prendra les emplacements d'un poteau central, auquel le chien est enchaîné, les emplacements des autres poteaux dans la cour de mes voisins, la longueur de la chaîne et l'emplacement de départ du chien, et affichera un diagramme indiquant la chemin où le chien a épuisé l'herbe. Vous pouvez supposer que toute combinaison des éléments suivants est constante (et ne les prenez donc pas en entrée):
Emplacement du poteau auquel le chien est enchaîné
Longueur de la chaîne
Lieu de départ du chien
Le soleil se lève, donc l'espace au sol de mon grenier éclairé par la fenêtre se rétrécit, me laissant de moins en moins d'espace pour écrire mon code. Veuillez essayer de minimiser le nombre d'octets de votre code afin que j'aie de l'espace pour le rédiger sur mon grenier.
Cas de test
Ici, je suppose que le chien commence 3 unités au sud du pôle auquel il est enchaîné (le point rouge), situé à 0,0
. J'ai indiqué où les pôles sont avec des points pour plus de clarté, vous n'avez pas besoin de les inclure dans votre sortie.
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}
retourné verticalement sans le plus grand cercle. Le chien commence essentiellement attrapé sur le deuxième poteau.
{0,-.5}
?