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 ProizvodLinijePoligoniKonveksni Omotač
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

Da li se duži seku

EasyProblem #43
VremeMemorijaUlazIzlaz
1 s64 MBstdinstdout

Duži mogu da se sretnu a da se ne ukrste - dodir u jednoj tački se već računa.

Gradski urbanista pregleda gomilu predloga za nove puteve. Svaki predlog je prava deonica puta između dve tačke, i pre nego što se bilo šta izgradi treba da zna koji parovi puteva bi naleteli jedan na drugi.

Dato ti je t parova duži. Za svaki par odredi da li te dve duži imaju bar jednu zajedničku tačku. Dovoljna je i jedna jedina zajednička tačka - nije bitno da li se duži uredno ukrštaju, samo dodiruju u kraju, ili leže jedna preko druge celom jednom deonicom.

Ulaz

U prvoj liniji je jedan ceo broj t - broj test primera.

U svakoj od narednih t linija je osam celih brojeva Ax​, Ay​, Bx​, By​, Cx​, Cy​, Dx​, Dy​ - prva duž ide od A do B, a druga od C do D.

Izlaz

Za svaki test primer ispiši YES ako duži imaju zajedničku tačku, a NO ako nemaju.

Primer

Input
5
0 0 4 4 0 4 4 0
0 0 4 4 0 10 10 0
0 0 4 4 4 4 8 0
0 0 4 4 2 2 6 6
0 0 4 4 1 0 5 4
Output
YES
NO
YES
YES
NO

Prvi par se ukršta po sredini, u tački (2,2). U drugom paru se dve beskonačne prave jesu presekle, ali same duži se završavaju mnogo pre toga. Treći par se dodiruje u jednoj jedinoj tački (4,4), četvrti par leži na istoj pravoj i preklapa se između (2,2) i (4,4), a peti par je paralelan.

Ograničenja

1≤t≤104
−109≤Ax​,Ay​,Bx​,By​,Cx​,Cy​,Dx​,Dy​≤109
A=B i C=D

Pošalji svoje rešenje

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

Prijavi se