Bug dans le sujet « Rond-point »

Au risque de me faire lyncher (très fort, oh oui) , je tenais à signaler un bug dans le sujet de Rond-point .

Après avoir soumis un superbe algorithme de 42 lignes (linéaire et sans les flottants \o/) qui passe tous les tests de vérification, ce dernier se croûte lamentablement la figure sur l'ensemble des trois derniers tests: ceux de performance.

Convaincu de l'exactitude de mon algorithme (ben oui, on écrit toujours des algorithmes exacts, c'est la réalité qui a tort) après moult essais, je me décide de faire une chose terrible, illégale et proprement déconseillée : afficher le contenu du test 14-rb . Et là, surprise ! il y a deux points qui sont alignés avec le centre du rond-point du même côté: le premier point donné (celui de la direction d'où on arrive) et un autre, qui s'avère être en fait, celui attendu en solution.

Par même côté, je veux dire que si l'on nomme C le centre du rond-point, A le premier point et B l'autre, alors:

  1. Les vecteurs AC et BC sont colinéaires (A, B et C sont alignés)
  2. Le coefficient qui permet de passer de AC à BC est positif (ils sont « du même côté » du point C)

Pour être exact, C correspond à 252 -195 , A à 221 22 et B à 214 71 .

En quoi c'est un bug ? le sujet est clair sur ce (point|sujet):

« les coordonées mènent toutes vers des directions différentes : les routes (segments de droite allant du rond-point jusqu’à leurs destinations) ne se chevauchent pas. »

Pourtant, il est clair que les segments AC et BC se chevauchent !

Le pire dans cette histoire, c'est que, après avoir salement amoché mon code (49 lignes :( ) pour plus ou moins supporter le cas problématique, et passer le test 14, j'échoue tout de même aux tests 15 et 16. Je sais pas ce que vous avez mis dedans, mais ça surpasse (de loin) les tests de vérification (ironique, n'est-ce pas ?), et met en échec mon bien-aimé algorithme. C'est de votre faute ! c'est vous qui avez tort ! vos tests sont faux !

Alors que faire ? si ça se trouve, les deux derniers tests puent autant que celui-ci.

Bien vu ! Je dois admettre que j'ai utilisé des flottants ; c'est vrai qu'avec des vecteurs, on peut probablement s'en passer (mais mes deux années de DUT commencent à me faire sérieusement oublier l'extrême beauté des mathématiques).

Tu pourrais prendre des points un peu plus parlants que A, B et C quand même… J, S et O par exemple. Ça donne :
J ( 221 ; 22 )
S ( 214 ; 71 )
O ( 252 ; −195 )
Deux vecteurs OJ et OS dont le rapport fait 38/31, ce qui contredit une des phrases du sujet, comme si la faute d'orthographe qui s'y trouve ne suffisait pas.

En tout cas, je doute que les problèmes des tests de performance te fassent perdre des points à la sélection : au contraire, elle permettra aux correcteurs de s'attarder sur ton code et donc ton algorithme.
Je me demande d'ailleurs si je n'ai pas déjà rencontré de souci similaire avec les tests de performance. C'est assez étrange.

Fais des arrondis et ça marchera à merveille. De toute façon, ton code est supposé être relu à la correction des QCM ( :3) donc si ton algo est juste (comme toujours, n'est-ce pas ;) ?), t'auras aucun soucis.

Répondre au sujet

Vous devez vous enregistrer ou vous connecter pour poster des messages.