Cerința
Se dau coordonatele în plan pentru n
puncte care determină un poligon. Se mai dau coordonatele altor m
puncte. Să se verifice, pentru fiecare dintre cele m
puncte, dacă se găsește sau nu în interiorul (sau pe marginea) poligonului.
Date de intrare
Fișierul de intrare punctinpoligonsimplu.in
conține pe prima linie două numere separate prin spațiu: n
și m
, reprezentând respectiv, numărul de vârfuri ale poligonului și numărul de puncte de testat. Pe următoarele n
linii se găsesc câte două numere separate printr-un spațiu, reprezentând abscisa respectiv ordonata câte unui vârf al poligonului. Acestea sunt date între-un sens de parcurgere a laturilor poligonului. Pe următoarele m
linii se găsesc câte două numere separate printr-un spațiu, reprezentând abscisa respectiv ordonata câte unui punct care trebuie testat.
Date de ieșire
Fișierul de ieșire punctinpoligonsimplu.out
va conține m
linii și pe fiecare dintre ele sa află mesajul DA
sau NU
după cum punctul corespunzător este sau nu în interiorul
Restricții și precizări
1 ≤ n , m ≤ 100
- Numerele din fișierul de intrare sunt întregi cuprinse între
-1001
și1001
. - Poligonul nu este neapărat convex dar nu se autointersectează.
- În primele două teste poligonul este convex.
Exemplu:
punctinpoligonsimplu.in
8 9 -4 -1 -3 2 -1 3 2 3 4 1 4 -2 1 -4 -2 -4 0 0 -3 -2 3 -2 -1 2 2 2 -4 0 -2 3 0 -20 20 0
punctinpoligonsimplu.out
DA DA DA DA DA NU NU NU NU