Cześć,
Zdaje się, że mimo posiadania tu konta od iluś lat jest to mój pierwszy post, więc kolejne cześć na takie globalne przywitanie :D.
Mam taki algorytm do wymyślenia i napisania w C++, tylko jakoś nie wiem, jak się do tego zabrać...
Otóż jest sobie graf w postaci prostokątnej kraty, tzn. jest to siatka o wymiarach x na y, w której krawędzie istnieją tylko pionowe lub poziome, połączone jedynie z najbliższymi wierzchołkami. W praktyce wygląda to np tak
?-3-4-1-2-1
| | | | | |
4-7-8-1-4-5
| | | | | |
2-3-7-4-6-#
dla x=6 i y=3... Muszę znaleźć drogę z ? do # o największej wartości, jednocześnie najkrótszą, czyli mogę poruszać się tylko x razy w prawo i y razy w dół. Jeśli istnieje kilka dróg o tej samej największej wartości, to muszę znaleźć wszystkie.
Wiem więc, że potrzebuję jakiegoś rodzaju algorytmu który sprawdzi mi wszystkie możliwości, ale kompletnie nie wiem, co tak na prawdę powinien po kolei robić xD
Szczerze mówiąc nie potrafię dla tego grafu znaleźć nawet jakiejś nazwy, która powiedziałaby wyszukiwarce google więcej niż 'graf skierowany'...
Mam nadzieję że użyczycie mi swej mądrości i przybliżycie odrobinę sposób, w jaki można rozwiązać ten problem...