Programozó versenyek

Magas szintű programozási nyelvek 1, gyakorló feladatsor, 2012. március 20.

2012. március 20. 15:00 – 2012. április 21. 0:00

A legelésző marha

Egy marha legelészik a mezőn, melyen két, kötéllel összekötött rúd van felállítva. A marhát egy gyűrű rögzíti a kötélhez, amelynek segítségével a kötél bármely pontjához eljuthat. A feladatod meghatározni, hogy mekkora területet érhet el és legelhet le a marha. Amennyiben szükséges, felteheted, hogy π = 2 · cos−1(0) (a szöget radiánban számolva). Szintén felteheted, hogy a kötél vastagsága nulla, a marha egy pontszerű objektum, valamint hogy a gyűrű és a rudak vastagsága elhanyagolható. A lebegőpontos számításokhoz dupla pontosságú lebegőpontos adattípust használj!

A bemenet specifikációja

A bemenet első sora egy egész számot tartalmaz (N ≤ 100), ami megadja, hogy hány tesztesetet tartalmaz a bemenet. A következő N sor mindegyike két egész számot tartalmaz, D-t (0 ≤ D ≤ 1000) és L-et (D < L ≤ 1500). A D egész a rudak távolságát adja meg lábban, míg az L egész a kötél hosszát, szintén lábban.

A kimenet specifikációja

A programodnak N kimeneti sort kell előállítania. Minden sornak egy lebegőpontos számot kell tartalmaznia három tizedesjegy pontossággal. Ez a lebegőpontos szám adja meg azon terület nagyságát, amelyet a marha elérhet és lelegelhet.

Példa bemenet

  1. 3
  2. 10 12
  3. 23 45
  4. 12 18
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. 62.517
  2. 1366.999
  3. 189.670
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.