Witam,
muszę napisać aplikację wykonującą 2 następujące czynności:
-znajdywać najkrótszą drogę pomiędzy 2 zadanymi wierzchołkami - proste, można użyć Dijkstry, bo wagi krawędzi mają być dodatnie
-znajdywać najkrótszą drogę pomiędzy zadanymi wierzchołkami odwiedzając po drodze zbiór wyszczególnionych wierzchołków (w dowolnej kolejności, byle odwiedzić).
I właśnie mam pytanie, w jaki sposób można to zrobić? Bo jedyny jaki mi na razie przychodzi do głowy, to sprawdzenie wszystkich możliwych kolejności odwiedzenia pośrednich wierzchołków i wybranie najkrótszej wersji. Ale czy nie da się tego zrobić jakoś sprytniej??