Revizia anterioară Revizia următoare
| Fișierul intrare/ieșire | geometrie.in, geometrie.out | Sursă | Testare IQ Academy 2023 |
|---|---|---|---|
| Autor | Radu-Bogdan Priboi | Adăugată de |
|
| Timp de execuție pe test | 0.25 sec | Limită de memorie | 80000 KB |
| Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Geometrie (clasa a 8-a)
Dorel a chiulit la ultima oră de matematică. Fiind conștient de consecințe (profesorul se va înfuria, îi va verifica tema și îl va scoate la tablă), acesta a început să își rezolve tema la geometrie, pregătindu-se totodată pentru atunci când va fi scos la tablă la următoarea oră de matematică. Deoarece Dorel nu a apucat să ceară lecția predată de la colegii săi, dar și pentru că are o temă foarte lungă (probabil va avea nevoie de cel putin jumatate de caiet pentru a scrie toată tema), acesta vă cere să îl ajutați prin a scrie un program care poate rezolva următorul tip de problemă:
Se consideră n puncte distincte în plan (sistem de coordonate carteziene), astfel încât oricum am alege 3 puncte, acestea să nu fie coliniare. Dintre acestea, găsiți punctul este cel mai apropiat de un alt punct dat (se consideră distanța euclidiană). De asemenea, determinați care este numărul de paralelograme care se pot forma cu aceste puncte (cele 4 colțuri ale paralelogramului să se regăsească printre punctele date inițial). Paralelogramul este figura geometrică care are laturile opuse egale și paralele.
Cerință
Scrieți un program care să citească numărul natural nenul n, coordonatele x, y ale unui punct, precum și coordonatele xi, yi ale celor n puncte, și determină:
- Coordonatele celui mai apropiat punct de (x, y) – în caz de egalitate, se va alege punctul cu coordonata x maximă, iar in cazul în care există în continuare mai multe soluții, punctul cu coordonata y maximă
- Numărul de paralelograme care se pot forma folosind câte 4 dintre cele n puncte date
Date de intrare
Fișierul de intrare geometrie.in conține:
- Pe prima linie numărul c, care poate avea doar valorile 1 sau 2 și reprezintă numărul cerinței care trebuie rezolvată
- Pe a doua linie numărul de puncte n
- Pe următoarele n linii, câte 2 numere întregi care reprezintă coordonatele fiecărui punct xi, yi
- Pe ultima linie, coordonatele x, y ale unui punct
Date de ieșire
Fișierul de ieșire geometrie.out va avea conținut diferit în funcție de cerință:- În cazul cerinței 1, se vor afișa coordonatele celui mai apropiat punct de cel dat.
- În cazul cerinței 2, se va afișa un singur număr reprezentând numărul de paralelograme care pot fi formate.
Restricții
- 1 ≤ n ≤ 2500
- Coordonatele tuturor puntelor sunt numere întregi în intervalul [-1000, 1000]
- Se acordă 40% din punctaj pentru rezolvarea corectă a cerinței 1 și 60% din punctaj pentru rezolvarea corectă a cerinței 2
Exemplu
| geometrie.in | geometrie.out | Explicații |
|---|---|---|
| 1 10 0 -1 1 3 -1 4 -3 1 -3 2 -1 -2 2 -2 4 1 4 -1 5 3 2 4 |
1 3 |
Cel mai apropiat punct de (2, 4) este (1, 3) |
| 2 10 0 -1 1 3 -1 4 -3 1 -3 2 -1 -2 2 -2 4 1 4 -1 5 3 2 4 |
4 |
Cu cele 10 puncte date, se pot forma 4 paralelograme: 1 (verde): (-1, 4), (-3, 1), (2, -2), (4, 1) 2 (galben): (1, 3), (-1, 4), (0, -1), (2, -2) 3 (roșu): (1, 3), (-3, 1), (0, -1), (4, 1) 4 (mov): (5, 3), (1, 3), (0, -1), (4, -1) ![]() |



Poți vedea testele pentru această problemă accesând
