Je te surveille

Mais surveilles-tu quelqu'un qui me surveille ?

Ce défi est tiré de c0d1ngUP 2024

À force de persévérance, Mulder a pu déterminer qu'au sein même du FBI, un grand nombre d'agents participent, volontairement ou non, à un immense réseau de surveillance mutuelle.

Mulder a pu exhiber une liste de 255 agents participant à ce réseau de surveillance mutuelle. Il sait que chacun des 255 agents de cette liste surveille exactement un autre agent de cette liste (et un seul). Chacun des 255 agents surveille donc quelqu'un... mais dans cette liste, existe-t-il des agents qui ne sont surveillés par personne ? C'est ce que Mulder cherche à découvrir.

C'est Scully qui a pu déterminer, en faisant jouer ses relations, les règles de surveillance. Elle a pu produire une sorte de graphe, dans lequel chaque agent est représenté par un couple de coordonnées dans le plan. Le couple de coordonnées représentant chaque agent est donné en entrée du problème (un agent par ligne). Ce graphe lui permet de savoir qui surveille qui. En effet, chacun des 255 agents surveille systématiquement la personne la plus proche de lui dans le plan (la manière dont les coordonnées sont calculées, pour que ça fonctionne, reste pour l'instant un mystère)

Imaginons qu'il n'y ait que 9 agents, de coordonnées :

10, 4
-9, -3
-8, -6
-8, -9
-2, 6
10, -3
-6, -8
7, 9
9, 5

La agents sont représentés dans le plan sur la figure ci-dessous. L'agent 0 aux coordonnées (10, 4), l'agent 1 aux coordonnées (-9, -3)... jusqu'à l'agent 8 aux coordonnées (9, 5).

Chaque agent surveille le plus proche de lui (il se trouve que chaque agent n'a jamais 2 autres agents plus proches, mais toujours un seul). Ainsi :

  • l'agent 0 surveille l'agent 8 (ils sont à une distance d'environ 1.414)
  • l'agent 1 surveille l'agent 2
  • l'agent 2 surveille l'agent 6 (ils sont à une distance d'environ 2.83)
  • l'agent 3 surveille l'agent 6
  • l'agent 4 surveille l'agent 7
  • l'agent 5 surveille l'agent 0 (ils sont à une distance de 7)
  • l'agent 6 surveille l'agent 3
  • l'agent 7 surveille l'agent 8
  • l'agent 8 surveille l'agent 0

Il ressort de cet exemple que les agents 1, 4 et 5 ne sont surveillés par personne.

Les coordonnées des 255 agents sont données en entrée du problème. Trouvez les agents qui ne sont surveillés par personne, et donnez-en la liste, par ordre croissant des numéros d'agents (on rappelle que le premier agent de la liste est l'agent 0 et que le dernier est donc l'agent 254), dans ce format : 1, 4, 5.

Type de retour
un séquence de nombres entiers
Entrées du problème
Vous devez être connecté.e pour proposer une réponse au défi
Vous devez être connecté.e pour accéder aux forums.