Vom cerceta un pendul matematic, fixat de originea coordonatelor cu un fir (matematic şi el). Poziţia iniţială a pendulului este (-r,0). În momentul eliberării, pendulul începe să oscileze, traiectoria sa fiind un semicerc. Pentru a modifica traiectoria pendulului, vom bate în plan câteva cuie matematice. Mişcarea pendulului va deveni mai complicată, dar peste un timp el va începe să realizeze oscilaţii periodice. Se cere să se determine lungimea traiectoriei finale, periodice a pendulului.
În spaţiul matematic (ideal) funcţionează următoarele reguli:
• Grosimea cuielor şi a firului sunt nule
• Energia pendulului nu se pierde (nu există forţă de frecare)
• Pendulul nu se atinge de cuie (de ele se atinge numai firul)
• Firul se îndoaie numai la atingerea unui cui.
Cerinţă
Scrieţi un program, care va calcula lungimea traiectoriei de oscilaţie a pendulului.
Pentru cei ce nu cunosc fizică! Unicul fapt fizic necesar pentru rezolvarea problemei: Pendulul niciodată nu se ridică mai sus de înălţimea lui iniţială. Pendulul fie va atinge axa Ox, fie se va roti în jurul unui cui.
Date de intrare
Prima linie a fişierului pendul.in conţine numărul de cuie N şi un număr real r – lungimea firului, separate prin spaţiu. Pe următoarele N linii sunt scrise coordonatele (x, y) ale celor N cuie (în ordinea abscisă, ordonată), câte un cui pe o linie.
Date de ieşire
Fişierul de ieşire pendul.out va conţine un singur număr real scris cu 3 zecimale, care va indica lungimea traiectoriei periodice finale a pendulului.
Restricţii
0 <= N <= 500
|x| < 1000, |y| < 1000
0 < r < 5000
Distanţa parcursă de pendul până la ieşirea pe această orbită nu se ia în consideraţie.
Rezultatul este considerat corect dacă diferenţa în valoare absolută dintre rezultatul afişat şi rezultatul corect este < 0.01.