poligon

Time limit: 0.01s Memory limit: 16MB Input: poligon.in Output: poligon.out

Cerință

Geo a învăţat o metodă de a fixa nn puncte pe un cerc de rază rr, astfel încât să împartă cercul în nn coarde egale ca lungime. Apoi şi-a ales un număr kk şi a început să unească punctele succesiv, din kk în kk, păstrând acelaşi sens, până ce a ajuns în punctul din care a pornit. Astfel, dacă a fixat n=10n=10 puncte pe cerc pe care le-a numerotat 1,2,,101, 2, \dots, 10 (vezi figura) şi şi-a ales k=6k=6, atunci el uneşte punctul 11 cu 77, apoi pe 77 cu 33, apoi 33 cu 99, apoi 99 cu 55, şi în sfârşit 55 cu 11.
Apoi a colorat poligonul format în interior, pornind din centrul cercului şi fără a depăşi vreuna dintre liniile desenate. El se întreabă în final câte laturi are poligonul colorat şi care este aria acestuia.

Pentru nn, kk şi rr numere naturale date, se cere numărul de laturi LL ale poligonului colorat şi aria SS a acestuia (cu 22 zecimale exacte).

Date de intrare

Din fişierul poligon.in se citesc trei numere naturale nn, kk şi rr despărţite prin câte un spaţiu.

Date de ieșire

În fişierul poligon.out se scriu, pe linii diferite două valori: pe prima linie numărul LL de laturi ale poligonului colorat, iar pe linia a doua numărul real reprezentând aria acestuia.

Restricții și precizări

  • 3<n<10 0013 < n < 10 \ 001 număr natural
  • 0<k<n0 < k < n număr natural
  • pentru nn par, 2kn2 \cdot k \neq n
  • 10<r<50110 < r < 501
  • Pentru fiecare test, dacă numărul de laturi determinat este corect, primiţi 20%20\% din punctajul maxim de pe testul respectiv. În plus, dacă şi aria determinată este corectă, primiţi punctajul maxim.
  • Aria este considerată corectă dacă modulul diferenţei dintre rezultatul corect şi cel furnizat de concurent nu depăşeşte 0.00010.0001.
  • Pentru 70%70\% din testele folosite la evaluare, n<501n < 501

Exemplul 1

poligon.in

10 6 100 

poligon.out

5
3468.9319

Exemplul 2

poligon.in

30 13 200

poligon.out

30
5452.0431

Log in or sign up to be able to send submissions!