Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

AL_23_09 - Długość trasy

Długość trasy

Organizatorzy slalomu kajakowego poprosili Cię o wyznaczenie długości trasy jaką przygotowali. Trasa rozpoczyna się w punkcie startu, biegnie pomiędzy tyczkami i kończy się na odcinku ostatniej bramki. Znając koordynaty punktu startu, liczbę bramek na rzece oraz ich koordynaty, nie powinno być to trudne.

Wejście
W pierwszym wierszu wejścia znajduje się liczba całkowita d (1 ≤ n ≤ 1000) oznaczającą liczbę zestawów danych. Pierwszy wiersz każdego zestawu zawiera trzy liczby x, y, n (1 ≤ x, y ≤ 105, 1 ≤ n ≤ 1000), gdzie x i y oznaczają współrzędne kartezjańskie punktu startu, a liczba n to liczba bramek na trasie. W kolejnych n wierszach podane są po trzy liczby całkowite y, x1 < x2 (0 ≤ y, x1, x2 ≤ 105), oznaczające współrzędne kartezjańskie tyczek kolejnych bramek. Każda bramka opisana jest za pomocą współrzędnych (x1, y) i (x2, y) i jest równoległa do osi OX. Wszystkie trójki liczb podane na wejściu posortowane są malejąco według współrzędnej y, a ostatnia bramka jest linią mety.
Pliki wejściowe nie przekraczają 3MB.

Wyjście
Dla każdego zestawu należy wypisać długość najkrótszej drogi od startu do mety z dokładnością do co najmniej dwóch cyfr po przecinku.

Przykład

Wejście
2
3 3 2
2 1 2
0 2 3
2 4 3
3 1 2
2 2 3
1 1 2

Wyjście
3.41
3.00


Dodane przez:Mariusz Śliwiński
Data dodania:2015-06-03
Limit czasu wykonania programu:1s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 GOSU JS-MONKEY
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.