LearnToCP
Prijavi se
Navigacija
PočetnaRoad-mapaProblemiO Nama
Teorija
Takmičarsko Znanje
Izbor Radnog Okruženja (IDE)Interaktivni ZadaciOutput-only Zadaci
Osnove
Tvoj Prvi ProgramTipovi podataka, Unos i IzlazC++ sintaksaModuloFunkcijeVektoriMatriceVremenska Složenost Algoritma
Sortiranje
SortiranjeSortiranje PrebrojavanjemRadix Sort
Tehnike Optimizacije
Dva PokazivačaZbir brojeva od 1 do nZbir PrefiksaBinarna PretragaPohlepni AlgoritmiFunkcije Binarne PretrageBinarna Pretraga po RešenjuPodeli, pa Vladaj
Binarni Brojevi
Binarni BrojeviBrojevi u koduOperacije nad BitovimaBitmaske
Matematika
Binarno StepenovanjeProsti BrojeviRastavljanje na proste činioceNZD i NZSEratostenovo SitoModifikovano Sito
Strukture Podataka
Niske (Stringovi)StekRedMapeSkupovi (Set)Red sa PrioritetomKorišćenje Proizvoljnih KriterijumaSegmentna StablaFenvikova StablaSparse TabeleDisjunktni SkupoviSqrt Dekompozicija
Kombinatorika
Pravilo SabiranjaPravilo MnoženjaKombinatorni ObjektiPrincip Uključenja Isključenja
Geometrija
Osnove GeometrijeVektoriVektorski i Skalarni ProizvodLinijePoligoniUgloviTačka u PoligonuRastojanja i Tačke PresekaKonveksni OmotačKrugovi
Rekurzija
PokazivačiRekurzijaGenerisanje Kombinatornih Objekata
Dinamičko Programiranje
O DP-uDP problemiDP nad StablimaDP nad Bitmaskama
Teorija Grafova
GrafoviDFS i BFSNajkraći PuteviStablaTopološko SortiranjeDajkstrin AlgoritamMinimalna Razapinjuća StablaAlgoritmi Najkraćih Puteva
Napredna Teorija Grafova
Dvostruka PovezanostJako Povezane KomponenteBipartitni GrafMaksimalni Protok u GrafuFord-Fulkersonov AlgoritamDualnost Protoka i Minimalnog PresekaTeško-Laka DekompozicijaCentroidna Dekompozicija
Napredne Strukture Podataka
2D i 3D Segmentna StablaLenjo PropagiranjeImplicitna Segmentna StablaPerzistentna Segmentna StablaNajbliži Zajednički PredakTrieBalansirana Binarna Stabla PretrageMoov Algoritam

Trougao i kvadranti

MediumProblem #46
VremeMemorijaUlazIzlaz
1 s64 MBstdinstdout

Preći preko x ose i preći preko y ose ne znači stići u kvadrant između njih.

Grad je isplaniran kao mreža. Dva glavna puta ukrštaju se u centru grada, a na mapi je centar koordinatni početak, jedan put ide duž x ose, a drugi duž y ose.

Ta dva puta seku mapu na četiri kvadranta, označena brojevima od 1 do 4 suprotno od smera kazaljke na satu: kvadrant 1 je sve ono gde je x>0 i y>0, kvadrant 2 je x<0 i y>0, kvadrant 3 je x<0 i y<0, a kvadrant 4 je x>0 i y<0. Tačka koja leži na putu ne pripada nijednom kvadrantu.

Na mapi je nacrtan trougao. Tvoj zadatak je da za svaki od četiri kvadranta odrediš da li trougao ima unutrašnju tačku u njemu - tačku strogo unutar trougla, a ne onu koja leži na stranici ili u temenu.

Ulaz

U prvoj liniji ulaza je jedan ceo broj t - broj test primera.
U svakoj od sledećih t linija je šest celih brojeva x1​, y1​, x2​, y2​, x3​, y3​ - tri temena trougla. Tri temena nikada ne leže na jednoj pravoj, pa trougao uvek ima pozitivnu površinu.

Izlaz

Za svaki test primer ispiši u posebnoj liniji četiri karaktera. k-ti karakter je + ako trougao ima unutrašnju tačku u kvadrantu k, a - ako nema.

Primer

Input
4
1 2 2 5 5 -10
-1 -1 1 5 5 1
-10 20 -5 15 -10 15
0 0 -3 1 1 -3
Output
+--+
++++
-+--
-+++

Prvi trougao ceo leži u x≥0, pa kvadranti 2 i 3 otpadaju, a proteže se od y=5 naniže do y=−10, pa ima unutrašnjih tačaka sa obe strane x ose. Treći trougao ceo leži u x≤0 i ceo u y≥0, pa je jedino kvadrant 2 moguć. Četvrti trougao ima teme tačno u koordinatnom početku i dopire do tri kvadranta, ali ne i do kvadranta 1 - ima unutrašnjih tačaka sa x<0 i unutrašnjih tačaka sa y<0, a nijednu sa istovremeno x>0 i y>0.

Ograničenja

1≤t≤104
−106≤xi​,yi​≤106


Zadatak je, uz dozvolu, preuzet iz zadatka U kojim kvadrantima je trougao, čiji su autori Društvo matematičara Srbije i Fondacija Petlja.

Pošalji svoje rešenje

Prijavi se da pošalješ rešenje i pratiš svoj napredak.

Prijavi se