1 - Kvadrati
Vremensko ograničenje | Memorijsko ograničenje |
---|---|
1000ms | 256MB |
Takmičari nas često pitaju Šta je kvadrat?, ali retko ko pita Kako je kvadrat? U ovom zadatku tražimo odgovor na treće pitanje: ako imamo koordinate dve različite tačke, koliko postoji kvadrata kojima su te dve tačke temena, a stranice kvadrata su paralelne nekoj od koordinatnih osa (pravi \(x = 0\) ili \(y = 0\))?
Često postavljena pitanja:
- Pitanje: Kako je kvadrat?
- Odgovor: Dobro je, hvala na pitanju.
- Pitanje: Šta je kvadrat?
- Odgovor: Kako vas nije sramota.
Opis ulaza
U prvoj liniji ulaza nalaze se dva cela broja \(x_1\) i \(y_1\) -- koordinate prve tačke. U drugoj liniji ulaza nalaze se još dva cela broja \(x_2\) i \(y_2\) -- koordinate druge tačke.
Opis izlaza
U jedinoj liniji izlaza ispisati broj kvadrata kojima su stranice paralelne koordinatnim osama i date tačke su im temena.
Ograničenja
- \(-10^9 \leq x_1, y_1, x_2, y_2 \leq 10^9\)
- date tačke će biti različite, odnosno neće važiti i \(x_1 = x_2\) i \(y_1 = y_2\)
Test primeri su podeljeni u 3 disjunktne grupe:
- U test primerima vrednim \(20\) poena: \(-50 \leq x_1, y_1, x_2, y_2 \leq 50\)
- U test primerima vrednim \(30\) poena: \(-200 \leq x_1, y_1, x_2, y_2 \leq 200\)
- U test primerima vrednim \(50\) poena: Bez dodatnih ograničenja
Primeri
Primer 1
Ulaz
Izlaz
Objašnjenje
Jedini odgovarajući kvadrat koji postoji je \(\{(1, 1), (3, 3), (1, 3), (3, 1)\}\):
Primer 2
Ulaz
Izlaz
Objašnjenje
Dva odgovarajuća kvadrata koja postoje su \(\{(56, 34), (105, 34), (56, 83), (105, 83)\}\) i \(\{(56, 34), (105, 34), (56, -15), (105, -15)\}\):
Autor | Tekst i test primeri | Analiza rеšenja | Testiranje |
---|---|---|---|
Mladen Puzić | Mladen Puzić | Lazar Milenković | Pavle Martinović |
Primetimo najpre da ako su zadata dva temena na istoj stranici kvadrata, tada mora važiti da je \(x_1 = x_2\) ili \(y_1 = y2\). Tada postoje dva kvadrata koji ispunjavaju uslove, a oni su centralno simetrični u odnosu na zadatu stranicu. Ako su zadata dva antipodalna (dijametralno suprotna) temena, neophodno je proveriti da važi da je \(|x_1 - x_2| = |y_1 - y_2|\). U ovom slučaju postoji tačno jedan kvadrat. U svim ostalim slučajevima rešenje je \(0\).