triunghiuri

Time limit: 0.3s Memory limit: 4MB Input: triunghiuri.in Output: triunghiuri.outPoints by default: 10p

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

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

  • 3N100 0003 \leq N \leq 100 \ 000;
  • 0x,y10000 \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.

Log in or sign up to be able to send submissions!