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

Žičara

MediumProblem #45
VremeMemorijaUlazIzlaz
1 s64 MBstdinstdout

Sortiranje po x koordinati izgleda ispravno sve dok prava ne stane uspravno.

Žičara se penje uz planinu po savršeno pravoj liniji. Usput prolazi pored n stubova, a svaki stub stoji negde na toj istoj pravoj.

Inženjer koji je premeravao planinu zapisao je stubove onim redom kojim je nailazio na njih, a to nije red kojim ih kabina prolazi. Jednu stvar je ipak zabeležio: prva dva stuba u njegovom spisku zapisana su onim redom kojim ih kabina sreće, pa ta dva zajedno govore u kom smeru se kabina kreće.

Tvoj zadatak je da ceo spisak vratiš u redosled kretanja.

Ulaz

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

  • U prvoj liniji svakog test primera je jedan ceo broj n - broj stubova.
  • U svakoj od sledećih n linija su dva cela broja xi​ i yi​ - položaj jednog stuba.

Svih n stubova u jednom test primeru su različiti i leže na jednoj pravoj. Kabina se kreće od prvog stuba iz spiska ka drugom.

Izlaz

Za svaki test primer ispiši n linija, položaje stubova onim redom kojim ih kabina prolazi, po dva cela broja u liniji.

Primer

Input
2
5
9 4
5 2
15 7
7 3
13 6
4
0 0
0 5
0 -3
0 9
Output
15 7
13 6
9 4
7 3
5 2
0 -3
0 0
0 5
0 9

U prvom test primeru kabina ide od (9,4) ka (5,2), dakle nadole i ulevo, pa je stub na (15,7) onaj na koji prvo naiđe. U drugom test primeru prava je vertikalna, pa redosled nema nikakve veze sa x.

Ograničenja

1≤t≤10
3≤n≤5⋅104
−106≤xi​,yi​≤106
n1​+n2​+…+nt​≤105


Zadatak je, uz dozvolu, preuzet iz zadatka Sortiranje duž linije, č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