This commit is contained in:
Georgia Koutsodima 2023-05-10 09:34:05 +02:00
parent c20c21f527
commit 026f99c0e6
2 changed files with 28 additions and 3 deletions

View file

@ -11,6 +11,9 @@ contraintes :
- on vérifie que tous les sommets du marathon se situent à l'intérieur de cette zone - on vérifie que tous les sommets du marathon se situent à l'intérieur de cette zone
- chaque sommet doit avoir une zone (autour de lui) de sommets voisins acceptables. Cette zone doit contenir tous les sommets de distance inférieure ou égale à 4 km par rapport au sommet précédent. - chaque sommet doit avoir une zone (autour de lui) de sommets voisins acceptables. Cette zone doit contenir tous les sommets de distance inférieure ou égale à 4 km par rapport au sommet précédent.
- on ne peut pas avoir des arcs qui se croisent - on ne peut pas avoir des arcs qui se croisent
- on ne peut pas avoir d'obstacles sur le chemin
- on ne peut pas avoir de grosses montées ou descentes
1er algo: on considère qu'on connait le point de départ et le point d'arrivée 1er algo: on considère qu'on connait le point de départ et le point d'arrivée
@ -18,8 +21,29 @@ contraintes :
ALGO ALGO
int dist_done = 0; //distance déja effectuée depuis le point de départ int dist_done = 0; //distance déja effectuée depuis le point de départ
liste_deja_visite //liste avec sommets déjà visités (au début elle ne contient que l'origine)
//on appelle origine le point de départ et dest le point de destination
zone //zone des arcs acceptables pour chaque sommet. Par exemple zone[k] donne tous les arcs acceptables en partant du sommet k.
//x est le sommet qu'on est en train de traiter
//suc est l'arc successeur
for suc in zone[x] loop
if suc.roadType==PEDESTRIAN or suc.roadType==CYCLEWAY or suc.roadType==TRUNK or suc.roadType==TRACK then
//on lève une exception et on affiche un message qui dit que cette rue n'est pas acceptable car elle est très petite
end if
for i in liste_deja_visite loop
if x==i then
//on lève une exception et on affiche un message pour dire que le sommet a déjà été visité
end if
end loop
if x==dest then
//on est arrivé à la destination

View file

@ -9,6 +9,7 @@ import org.insa.graphs.algorithm.shortestpath.ShortestPathData;
import org.insa.graphs.algorithm.shortestpath.ShortestPathSolution; import org.insa.graphs.algorithm.shortestpath.ShortestPathSolution;
import org.insa.graphs.model.Graph; import org.insa.graphs.model.Graph;
import org.insa.graphs.model.Node; import org.insa.graphs.model.Node;
import org.insa.graphs.model.Path;
import org.insa.graphs.model.io.BinaryGraphReader; import org.insa.graphs.model.io.BinaryGraphReader;
import org.insa.graphs.model.io.GraphReader; import org.insa.graphs.model.io.GraphReader;
import java.io.IOException; import java.io.IOException;