Circles

Time limit: 1s Memory limit: 128MB Input: circles.in Output: circles.out

Cerință

Se dă un număr natural NN, și NN cercuri în plan. Se cere să se afle pentru fiecare cerc dacă acesta este vizibil dintr-o poziție (XX, YY) dată. Un cerc este considerat vizibil daca există cel puțin un punct pe perimetrul acestuia cu proprietatea ca segmentul format de acesta cu poziția inițiala nu intersectează niciun alt cerc.

Date de intrare

Pe prima linie a fișierului de intrare circles.in se găsesc trei numere întregi, NN, XX și YY.
Următoarele NN linii conțin descrierea cercurilor, câte un cerc pe fiecare linie. Un cerc este descris de trei numere întregi, XX, YY și RR, reprezentând poziția centrului cercului și raza acestuia.

Date de ieșire

Pe prima linie a fișierului de ieșire circles.out se vor gasi NN valori, 11 sau 00, reprezentând răspunsurile pentru fiecare cerc, în ordinea în care acestea au fost date in datele de intrare.

Restricții și precizări

  • Pentru teste în valoare de 30 de puncte, 1N1001 \leq N \leq 100;
  • Pentru teste în valoare de 40 de puncte, 1N1 0001 \leq N \leq 1 \ 000;
  • 1N100 0001 \leq N \leq 100 \ 000;
  • 1 000 000 000X,Y1 000 000 000-1 \ 000 \ 000 \ 000 \leq X, Y \leq 1 \ 000 \ 000 \ 000;
  • 1 000 000 000X,Y,R1 000 000 000-1 \ 000 \ 000 \ 000 \leq X, Y, R \leq 1 \ 000 \ 000 \ 000;
  • Oricare două cercuri nu se intersectează și nici nu se ating.
  • Pozitia inițiala dată se află în afară tuturor cercurilor.

Exemplul 1

circles.in

10 0 0
4 -3 4
12 -1 2
-5 5 2
1 4 3
-6 1 1
-6 -1 1
7 3 3
9 7 1
-2 -6 1
-50 0 1

circles.out

1 0 1 1 1 1 1 0 1 0 

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