• Nie Znaleziono Wyników

Zadanie: TRA Trasa

N/A
N/A
Protected

Academic year: 2021

Share "Zadanie: TRA Trasa"

Copied!
2
0
0

Pełen tekst

(1)

Zadanie: TRA Trasa

Laboratorium z ASD, Egzamin. Dostępna pamięć: 64 MB. 30.01.2016, 13:00:00 W zadaniu rozważamy silnie spójne grafy skierowane, w których wagi krawędzi zmieniają się w czasie. Dla zadanych wierzchołków a i b należy obliczyć najtańszą trasę rozpoczynającą się w wierzchołku a przechodzącą przez wierzchołek b i wracającą do a.

Każda krawędź grafu e = (u, v) ma pewną ustaloną wagę początkową ce, która następnie ulega zmianie w kolejnych jednostach czasu o pe (jeśli pe>0 waga wzrasta, jeśli pe<0 waga maleje).

W zadaniu rozważamy graf w jednostkach czasu t ∈ {1, . . . , d}, można też założyć, że dla zadanych danych wejściowych wartości wei pesą tak dobrane, że waga zawsze będzie dodatnia.

Zadanie

Napisz program, który:

• wczyta opis grafu G, numery wierzchołków a i b oraz maksymalną wartość czasu d,

• wyznaczy minimalny koszt trasy z a do b i z powrotem, przy założeniu, że możemy wybrać dowolny czas t∈ {1, . . . , d},

• wypisze obliczony koszt.

Wejście

W pierwszym wierszu wejścia znajduje się pięć liczb całkowitych n, m, a, b, d, 2 ≤ n ≤ 100 000, 1 ≤ m ≤ 100 000, 2 ≤ d ≤ 10 000, gdzie n jest liczbą wierzchołków grafu, m liczbą krawędzi, a numerem wierzchołka startowego, bnumerem wierzchołka końcowego (a 6= b), d maksymalnym rozważanym czasem. Wierzchołki są numerowane 1 do n. W następnych m wierszach znajdują się opisy kolejnych krawędzi. Każdy wiersz zawiera sześć liczb całkowitych: n1, n2, c1, p1, c2, p2. Liczby n1 i n2 to numery wierzchołków, które łączy krawędź. Liczby c1 i c2 oznaczają początkowe wagi krawędzi n1 do n2 oraz z n2 do n1. W każdej kolejnej jednostce czasu waga pierwszej krawędzi zmienia się o p1, a waga drugiej krawędzi o p2. Wiadomo, że dla t = {1, . . . , d} każda waga będzie dodatnia i nigdy nie przekroczy 10 000.

Wyjście

W pierwszym i jedynym wierszu powinna się znajdować dokładnie jedna liczba całkowita — minimalny koszt trasy z a do b i z powrotem.

3 1

4 2

(10,−1)

(27,−2) (5,−1)

(20,−3)

(8,−1) (3,0)

(12,2)

(7,2)

1/2 Trasa

(2)

Przykład

Dla danych wejściowych:

4 4 1 4 3 1 2 5 -1 10 -1 3 2 12 2 7 2 3 4 8 -1 20 -3 1 4 27 -2 3 0

poprawnym wynikiem jest:

23

Jednym z optymalnych rozwiązań dla testu przykładowego jest trasa:

1 → 2 → 3 → 4 → 1 dla t = 2, kiedy to koszt trasy wynosi 23.

2/2 Trasa

Cytaty

Powiązane dokumenty

Przechodzimy pod linią energetyczną, a następnie przekraczamy strumień i za nim skręcamy z głównej drogi, która biegnie w górę do lasu, w prawo i poruszamy się

Przetwarzanie danych, obejmuje także publikację wizerunku zawodnika, imienia i nazwiska wraz z nazwą miejscowości, w której zamieszkuje, jego kategorię wiekową,

Wszystkich Świętych na ul. Grodzką (gdzie Salawa pracowała już po I woj- nie światowej) i wejść w Poselską, gdzie po prawej stronie znaj- duje się jedno z jej

Idziemy dalej prosto, mijamy kościół po prawej stronie, na przejściu dla pieszych przy przystanku, przechodzimy na lewą stronę, nadal idąc prosto... Idziemy dalej prosto i

Dalej idziemy wzdłuż posesji po prawej stronie i po 150 m dochodzimy do drogi asfaltowej relacji Zagórowa – Imbramowice (przy posesji nr 22).. Tu skręcamy w lewo i cały

v.push_back(el) - wstawia element na koniec wektora v.pop_back() - usuwa element z końca wektora v.back() - zwraca element z końca wektora v.empty() - zwraca true, jeśli wektor

[r]

2) Wprowadzić dane: lab4.zad2 (cholesterol, wiek).. 2) Tworzymy dwa zbiory: lab4.zad8 (wartość, powierzchnia, odległość), lab4.zad8p (powierzchnia, odległość) 3) Analizuj