Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | tri3.in, tri3.out | Sursă | CEOI 2009 |
Autor | Mihai Patrascu | Adăugată de | |
Timp execuţie pe test | 0.675 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Tri3
Se dau K puncte cu coordonate numere intregi pozitive. De asemenea, se mai dau M triunghiuri, fiecare dintre ele avand un varf in origine iar celelalte doua varfuri la coordonate numere intregi pozitive.
Determinati pentru fiecare triunghi daca are in interiorul sau cel putin unul din cele K puncte date.
Niciunul dintre cele K puncte nu se gaseste pe o latura a oricarui triunghi.
Date de intrare
Prima linie a fisierului de intrare tri3.in va contine K si M. Urmatoarele K linii contin cate 2 numere intregi x si y, separate printr-un spatiu, reprezentand coordonatele punctelor. Urmatoarele M linii contin cate 4 numere intregi pozitive, separate printr-un spatiu, (x1, y1) si (x2, y2), reprezentand celelalte 2 varfuri ale triunghiului, exceptand pe cel din origine.
Date de ieşire
Fisierul de iesire tri3.out contine exact M linii. Linia k contine caracterul Y daca al k-lea triunghi (in ordinea data in fisierul de intrare) contine cel putin un punct in interiorul sau, sau N in caz contrar.
Restricţii şi precizări
- 1 ≤ K, M ≤ 100 000
- 1 ≤ coordonatele celor K puncte ≤ 109
- 0 ≤ coordonatele varfurilor triunghiurilor ≤ 109$
- Triunghiurile nu sunt degenerate (toate au aria diferita de 0).
- In 50% din teste, toate triunghiurile au varfurile in punctele cu coordonate x1 = 0 si y2 = 0. Acest lucru inseamna ca doua din laturile triunghiului se gasesc pe axele de coordonate.
Exemplu
tri3.in | tri3.out | Explicatie |
---|---|---|
4 3 1 2 1 3 5 1 5 3 1 4 3 3 2 2 4 1 4 4 6 3 | Y N Y | ![]() |
tri3.in | tri3.out | Explicatie |
---|---|---|
4 2 1 2 1 3 5 1 4 3 0 2 1 0 0 3 5 0 | N Y | ![]() |