Fişierul intrare/ieşire:expand.in, expand.outSursăSummer Challenge 2020
AutorIoan Popescu, Tinca MateiAdăugată desummerchallengeComisia summerchallenge
Timp execuţie pe test0.05 secLimită de memorie524288 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Expand

K0kalaru47 are un poligon.
Se dă un poligon convex cu N vârfuri. Puteţi muta un vârf A al poligonului într-un alt punct B din plan, doar dacă distanţa euclidiană de la A la B este maxim R. 

Cerinţă

Mutaţi vârfurile poligonului astfel încât aria poligonului pe care îl obţineţi să fie cât mai mare.

Punctare

Aveţi acces la teste aici şi la poligoanele comisiei aici

Fie Amax aria poligonului obţinut de comisie, Aconcurent aria poligonului obţinut de concurent pe acelaşi test şi Ainit aria poligonului din input pe acel test. 
Fie P = \frac {(Aconcurent - Ainit)}{(Amax - Ainit)} * 100.

Numărul de puncte pe care îl primiţi pe un test este egal cu:

Ppunctaj
P < 30
0 puncte
30 ≤ P < 50
1 punct
50 ≤ P < 60
2 puncte
60 ≤ P < 70
3 puncte
70 ≤ P < 80
4 puncte
80 ≤ P < 90
5 puncte
90 ≤ P < 95
6 puncte
95 ≤ P < 98
7 puncte
98 ≤ P < 99
8 puncte
99 ≤ P < 100
9 puncte
100 ≤ P
10 puncte

Date de intrare

Fişierul de intrare expand.in pe prima linie se va afla un număr T, reprezentând numărul testului. Pe a doua linie se vor afla două numere naturale N şi R. Pe următoarele N linii se vor câte două numere reale, separate printr-un spaţiu, reprezentând coordonatele x şi y ale vârfurilor primului poligon. Vârfurile poligonului sunt date în ordine trigonometrică sau invers trigonometrică.

Date de ieşire

În fişierul de ieşire expand.out veţi afişa pe N linii coordonatele ce alcătuiesc poligonul, anume, pe linia i se vor afla coordonatele la care aţi mutat punctul i.

Restricţii

  • 2 ≤ N ≤ 50
  • Se garantează ca dacă putem muta un vârf A al poligonului într-un punct B din plan, atunci nu există un alt vârf al poligonului care poate fi mutat în B.
  • Pe testele 1 şi 2, poligoanele din input sunt regulate.

Exemplu

expand.inexpand.out
0
4 1
0 0
4 0
4 4
0 4
-0.707107 -0.707107
4.70711 -0.707107
4.70711 4.70711
-0.707107 4.70711

Explicaţie

Mutăm vârful A în A', vârful B în B', vârful C în C' şi vârful D în D'.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?