Gigel este un mare amator de excursii la munte. În acelaşi timp este şi un bun informatician. El a observat că făcând un traseu între două obiective turistice oboseşte mai puţin decât dacă alege un alt traseu între aceleaşi obiective. Gigel şi-a propus să găsească un model care să-i permită determinarea unui traseu pe care, dacă-l alege, va ajunge la destinaţie cât mai puţin obosit. Astfel, el reprezintă terenul în care se află cele două obiective turistice printr-un tablou bidimensional cu linii (numerotate de la la ) şi coloane (numerotate de la la ), cu elemente numere naturale strict pozitive, în care fiecare element reprezintă cota unei zone de teren de forma unui pătrat cu latura . Efortul pe care-l face pentru a trece dintr-o zonă cu cota într-o zonă vecină cu o cotă mai înaltă () se calculează după cum urmează. Se trasează un triunghi dreptunghic ca în figură:
- şi sunt cele două cote,
- este distanţa dintre centrele celor două zone vecine
- este unghiul pantei care trebuie urcată
Apoi calculează efortul astfel: .
În exemplul următor considerăm patru zone vecine având cotele , , , . Pentru a ajunge din zona de cotă în zona de cotă se pot alege două trasee:
- direct, ceea ce presupune un efort calculat astfel:
- .
- ocolit, prin zonele de cote şi , ceea ce presupune un efort calculat astfel:
- .
Efortul pe care-l face pentru a trece dintr-o zonă având cota într-o zonă vecină cu aceeaşi cotă este . Efortul pe care-l face pentru a trece dintr-o zonă având cota într-o zonă vecină cu o cotă mai joasă () este jumătate din efortul pe care l-ar face la urcare (adică de la cota la cota ).
Cerinţă
Scrieţi un program care să determine efortul minim pentru a ajunge de la un obiectiv turistic la altul, lungimea traseului nedepăşind o valoare dată .
Date de intrare
Fişierul de intrare excursie.in
conţine:
- pe prima linie două numere naturale şi separate printr-un spaţiu, reprezentând dimensiunile terenului;
- pe linia a doua numărul real reprezentând lungimea maximă admisă a drumului;
- următoarele linii conţin fiecare câte valori naturale, separate prin spațiu, reprezentând în ordine cotele zonelor de teren;
- ultima linie conţine patru valori naturale , , , , separate prin câte un spaţiu, unde , reprezintă linia şi respectiv coloana punctului de plecare, iar , reprezintă linia şi respectiv coloana punctului de sosire.
Date de ieșire
Fişierul de ieşire excursie.out
va conţine pe prima linie două numere reale separate printr-un spaţiu , reprezentând efortul minim depus pentru a ajunge de la un obiectiv la altul şi respectiv lungimea minimă a unui drum parcurs cu efort minim. Rezultatele vor fi afişate cu câte trei zecimale.
Restricții și precizări
- Deplasarea dintr-o zonă în alta se poate face doar în direcţii: (, , , ). Mai exact, dacă poziţia curentă este pe linia , coloana , prin deplasare la se trece în poziţia (), la în (), la în (), iar la în (). (dacă aceste poziţii există).
- Cotele sunt numere naturale cu valori între şi .
- Se recomandă utilizarea tipurilor reale pe biţi. Rezultatul va fi considerat corect dacă diferenţa absolută dintre rezultatul afişat şi rezultatul corect este <
- Se acordă din punctaj pentru determinarea corectă a efortului minim, respectiv pentru rezolvarea corectă a ambelor cerinţe
Exemplu
excursie.in
2 2
11
10 6
1 2
2 1 1 1
excursie.out
34.399 9.660
Explicație
Traseul este corect deoarece lungimea drumului 0 este mai mică decât valoarea dată