ConcursC++17

triunghiuri

Se consideră NN puncte din plan, având coordonate numere naturale, relativ la un reper cartezian XOY, oricare două puncte fiind distincte.

Figura 1 din enunțul original al problemei triunghiuri.Figura 1 din enunțul original al problemei triunghiuri.Mărește schema ↗

Cerință

Cunoscând NN și coordonatele celor NN puncte, să se determine:

  1. Numărul maxim de puncte care au aceeași abscisă.
  2. Numărul triunghiurilor care se pot desena respectând următoarele condiții:
    • au toate vârfurile în puncte dintre cele date;
    • au o latură paralelă cu OX;
    • nu au laturi paralele cu OY;

Date de intrare

Datele de intrare se citesc din fișierul triunghiuri.in, care are următoarea structură:

Pe prima linie se află numărul pp, care indică cerința ce trebuie rezolvată (pp are valoarea 11 sau 22);
Pe a doua linie se află numărul natural NN, reprezentând numărul punctelor date;
Pe următoarele NN linii se găsesc câte două valori naturale x yx \ y, separate prin câte un spațiu, reprezentând coordonatele punctelor date.

Date de ieșire

Fișierul triunghiuri.out va avea următoarea structură:

Dacă p=1p = 1 se va scrie în fișier, pe prima linie, numărul maxim de puncte care au aceeași abscisă (cerința 11).
Dacă p=2p = 2 se va scrie în fișier, pe prima linie, numărul triunghiurilor care se pot desena respectând condițiile date, modulo 1 000 0031 \ 000 \ 003, adică restul împărțirii numărului de triunghiuri la 1 000 0031 \ 000 \ 003 (cerința 22).

Restricții și precizări

  • 3≤N≤100 0003 \leq N \leq 100 \ 000;
  • 0≤x,y≤10000 \leq x, y \leq 1 000;
  • Se acordă 2525 de puncte pentru rezolvarea corectă a cerinței 11 și 6565 de puncte pentru rezolvarea corectă a cerinței 22.

Exemplul 1

triunghiuri.in

1
5
2 1
1 4
3 4
3 2
6 4

triunghiuri.out

2

Explicație

Se rezolvă cerința 1. Sunt maximum două puncte care au aceeași abscisă, (3,43, 4) și (3,23, 2)

Exemplul 2

triunghiuri.in

2
5
2 1
1 4
3 4
3 2
6 4

triunghiuri.out

4

Explicație

Se rezolvă cerința 22. Se pot trasa 44 triunghiuri care satisfac cerințele.
Dacă notăm cele 55 puncte din fișier cu A,B,C,D,EA, B, C, D, E (ca în imagine),
atunci, cele 44 triunghiuri care satisfac cerințele sunt: ABCABC, ACEACE, ABEABE și BDEBDE.

Sursă și autori

OJI 2017, clasele 8. Alin Burța.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑