Pas besoin d'être condescendant.
Aller pour redorer le blason de ce forum, un nouvel algo pour la route.
Avantage:
- ultra rapide
- facile à implémenter
- peu couteux en ressources
- probablement une solution proche du maxima (mais pas la meilleure solution)
Le plus simple serait de valuer ton graphe:
Tu pars du nœud 01, chaque arrête en partant choppe 1. De chaque arrête derrière ces premiers nœuds (Je parle donc des nœuds 02 et 11), te donneras alors 2. Et ainsi de suite.
=> c'est assez proche de la première réponse, sauf que le gus value les nœuds, il est rare qu'on est besoin de valuer les nœuds, c'est bien plus intéressant de valuer les arrêtes.
Partant de là, reste à parcourir le merdier:
Tu pars du noeud avec les plus grosses arrêtes, et tu remontes en choisissant toujours l'arrête dont la valeur est la plus proche MAIS pas égale au maximum.
Autrement dit, ton algo ressemble bcp à du toposort par exemple, cad tu as nécessité de savoir si tu es passé par là ou pas. En valuant tes arrêtes de la sorte, tu es sur un parcours plus ou moins linéaire/dichotomique tout en étant sur de ne pas être passé par là.
Pour toposort (ca se rapproche dans l'idée, pas dans le résultat):
https://en.wikipedia.org/wiki/Topological_sorting
De facto:
- La valuation, couplé à la façon dont ton graphe est, empêche les retours en arrière, et les boucles.
- Prise du dernier point vers le premier, tu évites aussi les chemins "longs" pour le plaisir. Cad pas de bloc possible.
- Au passage tu te permets d'avoir quelque chose d'assez linéaire, tout en ayant un résultat qui ne sera pas le meilleur, mais en tout cas assez proche du plus long possible.