Énoncé

On se donne un quadrillage dont les noeuds sont étiquettés par leurs coordonnées (entières) X,Y. Dans ce quadrillage, on insère des résistances - toutes de 1ohm - entre différents noeuds. Votre objectif est de trouver la résistance équivalente entre les noeuds du circuit de coordonnées (0,0) et (4,4).
Dans les cas de tests, on aura toujours la garantie de pouvoir trouver la résistance entre ces deux noeuds en n'utilisant que les deux règles simples suivantes : si deux tronçons de circuits de résistances équivalentes \(R_1\) et \(R_2\) sont en série, la résistance équivalente du tronçon global est \(R_1+R_2\), et s'ils sont en parallèle, la résistance équivalente est \(\displaystyle\frac{R_1\cdot R_2}{R_1+R_2}\). En particulier, il n'y aura jamais de besoin d'utiliser de "transformation triangle-étoile". Les tronçons de circuits qui sont inutiles peuvent être ignorés.

Entrée

L'entrée du programme contient d'abord un entier n correspondant au nombre de résistances dans le circuit. Ensuite, elle contient une liste de n lignes de la forme :
xa ya xb yb
où (xa,ya) sont les coordonnées du premier noeud connecté à cette résistance et (xb,yb) sont les coordonnées du second noeud. Ces coordonnées seront toujours comprises entre 0 et 4. Le tout est suivi d'un retour à la ligne.

Sortie

La sortie de votre programme devra contenir la valeur, arrondie à \(10^{-3}\) près, de la résistance équivalente demandée, cette résistance ne sera jamais infinie. La fonction "affiche_solution" des squelettes effectue elle-même l'arrondi quand elle est appelée, et vous n'avez donc normalement pas à vous en soucier si vous utilisez les squelettes. La réponse sera suivie d'un retour à la ligne.

Exemples

EntréeSortie

Squelette CamlLight

Squelette OCaml