.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » pendul

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
pendul


Timp maxim de execuţie / test:
0.1s
Memorie totala disponibilă / stivă:
16MB / 1MB

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.

Exemple

pendul.inpendul.out
2 16.0 3 -4 -3 -4 87.661

autor: Prof. Sergiu Corlat
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
surse trimise | ajutor