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

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


Timp maxim de execuţie/test:
0.6 secunde
Memorie totală disponibilă/stivă:
16MB/1 MB

Pe planeta Marte astazi se voteaza. Martienii sunt imprastiati pe suprafata planetei, pozitiile lor fiind specificate prin coordonatele carteziene ale punctului de pe harta in care se afla. Cand si cand se petrec tot felul de evenimente: dispare un martian (pleaca la vot), apare un martian (se intoarce de la vot) sau un martian se intreaba la ce distanta se afla cel mai apropiat martian (pentru a-l intreba daca a votat sau nu).

Cerinţă

Cunoscand secventa evenimentelor, sa se afle raspunsurile la intrebarile martienilor.

Date de intrare

Fisierul de intrare votare.in contine pe prima linie numarul natural N, reprezentand numarul de eveniment. Urmatoarele N linii contin evenimentele, cate un eveniment pe cate o linie, in ordinea in care acestea se produc. Un eveniment este descris prin 3 numere intregi separate prin spatii astfel:

Eveniment Semnificatie
0 x y apare un martian in pozitia de coordonate (x,y)
1 x y dispare martianul din pozitia de coordonate (x,y)
2 x y martianul din pozitia de coordonate (x,y) intreaba care este distanta fata de cel mai apropiat martian

Date de iesire

Fisierul de iesire votare.out va contine in ordine raspunsurile la intrebarile martienilor (evenimente de forma 2 x y), cate un raspuns pe o linie.

Restrictii

  • 1 <= N <= 100 000
  • Toate coordonatele din fisierul de intrare sunt numere intregi nenule in intervalul [-32000, +32000]
  • Doi martieni nu se pot afla simultan in aceeasi pozitie
  • Distanta dintre 2 puncte (x0,y0) si (x1,y1) se defineste ca fiind (x0-x1)*(x0-x1)+(y0-y1)*(y0-y1)
  • Daca nu exista niciun martian se va afisa raspunsul -1

Exemplu

votare.in votare.out
9
0 5 6
0 7 9
0 12 9
2 1 1
0 5 3
0 1 4
2 2 4
1 5 6
2 1 1
41
1
9

Mircea Dima
stud. Facultatea de Matematica si Informatica, Universitatea Bucuresti
blasterzm@gmail.com
propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
surse trimise | ajutor