                                 Linear Pikron
    Le plus court chemin, c'est une ligne droite pleine d'angles a 90 degres

L'histoire de ce champion est passionante : elle explique au monde comment un
code pouvant etre ecrit en une apres-midi peut se retrouver etre l'acteur
principal d'une formidable epopee en 36h.


I/ L'idee initiale

A la base, le programme devait pouvoir relier des couples d'unites par des
segments separes les uns des autres. Cet objectif ne fut jamais atteint, la
moto principale se retrouvant prise dans des boucles dignes aussi bien du Jeu de
la Vie que d'un poisson rouge dans son bocal.

Une etape importante etait la dtermination du meilleur couple a relier. Il vaut
mieux relier le couple le plus pres de nous, donc les unites ne sont pas tres
espacees, qui rapporte evidemment le plus de points et aussi pourquoi pas de la
proximite de l'adversaire aui pourrait bien nous bloquer s'il creait le lien
avant nous.
Cette etape s'ext exprimee dans mon esprit tordu par une
methode-de-mec-qui-se-disait-que-ce-serait-fun-de-faire-une-formule-avec-de-jolies-courbes.

Et here we are :

score_du_couple = (points/maxPointsCarte)*500 + (-dis/3 +10)^3 + (-disUnits/3 +8)^3;
avec points le nombre de points que peut actuellement faire gagner le couple en
            un tour
     maxPointsCarte le nombre de points que fait gagner le meilleur couple
     dis la distance entre la plus proche trainee et la plus proche unite
     disUnits la distance entre les deux unites

Etonnamment, ca marchait assez bien.

Apres avoir passe un moment a tracer de belles courbes a la calculatrice a la
lueur de l'ecran fut code la partie faisant avancer la trainee vers la premier
unite. Rien d'autre.



II/ La conjecture d'un theoreme de Prologin

C'est alors que tout devint magique. Par une operation du <Saint Esprit>
(remplacer par Dieu, Allah, Bouddha, Jill-Jenn, la licorne rose invisible ou
toute autre divinite vous correspondant le mieux), ce code se mit a relier les
unites de la grille entre elles, comme une grande, sans vraiment que ce soit mon
intention (il est ti bien dresse le pitit cocode, hein ?).

C'est alors qu'un theoreme verifie annee apres annee me vint a l'esprit :
pendant la finale de Prologin, moins vous en faites et meilleur est votre
champion. On appelle cela le Theoreme du Minimum de Transpiration du Cerveau
(TMTC).

c'est ainsi qu'un "champion", programme juste pour se diriger vers l'unite d'un
couple que l'on decide au tour le tour, va etre la meilleure creation de ces 36h
sur le poste r6p6.



|||/ Demonstration

Apres une nuit et une matinee acharnees (ces deux intervalles etaient pour le
coup plus ou moins confondus), la version initialement prevue etait prete. Bien
evidemment, elle se faisait systematiquement battre par la version "autonome" (ou
autodidacte, ou majeure, ou windowsienne - bref tout mot impliquant que je
n'ai aucun pouvoir sur elle), que j'avais tarifie pour des etudes biologiques
posterieures (oui, biologique : it is ALIVE !).

Meme en corrigeant les bugs, il a fallu s'y resoudre : ce programme dote de
conscience (sans doute a cause de l'heuristique donnee plus haut (peut-etre
qu'en resolvant ce polynome = 42 on obtient les racines de la vie ? (j'aime les
parentheses, ca a une belle forme arrondie (comment ca c'est deconfortable a la
lecture ? (attendez, vous n'etes pas au bout de vos peines : la phrase initiale
reprend apres !)))))(le compte est bon, je faisais du LISP dans une autre vie)
etait en tout point la seule solution viable dont il me serait possible
d'envisager la reflexion a propos de la possibilite de l'implemeter dans ce laps
de temps qui ferait fremir la restauration rapide (oui, vous pouvez relire la
phrase vous aussi).

C'est ainsi que quelques heures de travail furent perdues pour repartir sur
cette base saine. Le code fut complete (comprendre que maintenant je savais
pourquoi ca marchait), et il est desormais presque tel quel sur le serveur.
Evidemment, chaque tentative pour l'ameliorer le rendait moins bon (TMTC).



IV/ Explication du code

La classe Link fait le plus gros du travail. Le main ne fait qu'appeler ses
methodes. Ne faites pas attention a toutes les choses inutiles dans prologin.hh
qui sont des ruines d'essais infructueux laisses sur place pour etre conformes
aux lois sur les fouilles archeologiques.

Link, armee de son epee, va simplement se diriger tour a tour vers les unites
les plus proches pour les relier en un grand reseau. Non, plus d'heuristique
tiree par les cheveux plies en quatre. Oui, tout ce texte pour aussi peu de code
et d'idees. Mais c'est pour vous punir du retard de la correction du QCM.


D'ailleurs j'ose esperer que vous avez suivi ce README jusqu'au bout. Moi j'ai
bien suivi votre etrange presentation powerpoint.
Cela dit, merci pour cette finale et joyeux Noel.


P.S : excusez l'humour de ce fichier, je suis a la fois fatigue et transporte
dans un etat second par toutes les musiques de la salle machine.

P.P.S : le dossier du dernier champion est cxx2. cxx est la version prevue au
depart puis abandonnee
