SW V : Luke, Han et Chewie coupent une pizza

Ce défi est tiré de c0d1ngUP 2018

Luke, Han, et Chewie doivent se partager une pizza. Sur cette pizza, il y a des olives, des anchois et des piments.

Peu leur importe la taille de la part de pizza qu'ils auront... tout ce qui compte c'est que chacun ait le même nombre d'olives, d'anchois et de piments (surtout Chewbacca, qui n'aime pas avoir moins que les autres).

Pour éviter une dispute qui pourrait mal tourner, vous devez donner 3 angles, en degrés, selon lesquels il faut couper la pizza pour que chacun y trouve son compte.

Malheureusement, le problème est ardu, car il y a beaucoup de garniture. R2D2 a cependant eu l'amabilité de vous fournir la position de chacun des condiments. Cette liste vous est donnée en entrée du problème, elle indique la position des olives, des piments, et des anchois par deux coordonnées : la distance du condiment au centre de la pizza, et l'angle en degrés (ce sont les coordonnées polaires).

Voici un exemple pour une pizza fictive :

olives =  [(12, 15), (15, 128), (13, 314)]
piments = [(20, 145),  (16, 214),  (14, 345)]
anchois = [(18, 42), (20, 127), (12, 153), (12, 258), (15, 259), (19, 342)]

Les données correspondent donc à cette pizza, qui contient 3 olives, 3 piments et 6 anchois.

Une fois le partage fait, chacun devra donc avoir 1 olive, 1 piment et 2 anchois.

Voici une solution (il y a beaucoup d'angles de coupe qui conviennent) :

Pour soumettre cette solution, il suffit de donner les 3 angles de coupe :

90, 180, 321.5

Attention toutefois à ne pas couper exactement sur un condiment. Chewie déteste le gaspillage, et risque d'entrer dans une colère difficilement contrôlable. On rappelle que la taille des morceaux n'a pas d'importance. Seul importe le nombre de condiments par part.

Type de retour
une séquence de 3 nombres
Entrées du problème
  • olives : [(20, 16), (14, 29), (17, 37), (13, 54), (12, 69), (18, 89), (16, 113), (11, 123), (20, 139), (20, 172), (14, 182), (17, 189), (16, 194), (19, 213), (20, 229), (20, 230), (12, 271), (11, 278), (12, 324), (19, 326), (17, 340)]
  • anchois : [(13, 3), (19, 14), (9, 35), (16, 40), (12, 43), (16, 55), (10, 74), (16, 78), (19, 107), (13, 109), (13, 121), (8, 136), (9, 145), (11, 154), (20, 183), (18, 198), (12, 203), (12, 209), (15, 212), (12, 214), (20, 225), (9, 247), (10, 260), (17, 261), (18, 277), (19, 288), (16, 294), (10, 306), (15, 312), (10, 332), (17, 346), (15, 350), (20, 357)]
  • piments : [(15, 26), (16, 30), (14, 42), (10, 53), (16, 61), (19, 84), (10, 86), (20, 129), (17, 137), (9, 159), (20, 176), (11, 177), (13, 178), (15, 181), (10, 199), (20, 200), (17, 220), (13, 228), (10, 232), (10, 237), (19, 245), (16, 249), (11, 252), (19, 290), (17, 311), (20, 349), (8, 353)]
Vous devez être connecté.e pour proposer une réponse au défi
Vous devez être connecté.e pour accéder aux forums.