Diferente pentru problema/triunghiuri intre reviziile #10 si #21

Diferente intre titluri:

triunghiuri
Triunghiuri

Diferente intre continut:

== include(page="template/taskheader" task_id="triunghiuri") ==
Poveste şi cerinţă...
Un nou grup infracţional, Z, a aparut la tine in oras si incearca sa distruga Craciunul. Se ştie că harta oraşului este un plan cu diverse locaţii importante, reprezentate drept puncte in acest plan.
Z actioneaza într-un mod foarte specific: intotdeauna atacă câte 3 puncte de interes, dar doar dacă aria triunghiului format de acestea este un număr întreg (inclusiv 0).
 
Deoarece eşti cel mai iscusit programator, autorităţile ţi-au cerut ajutorul pentru a salva sărbătorile.
Cunoscând cele $N$ locaţii iniţiale şi $Q$ modificări pe care le suferă harta, trebuie să realizezi un program care calculează în cate moduri ar putea infractorii să ţintească 3 puncte, atât pentru configuraţia iniţială, cât şi după fiecare modificare.
h2. Date de intrare
Fişierul de intrare $triunghiuri.in$ contine pe prima linie 2 numere: N si Q.
Pe urmatoarele N linii se gasesc coordonatele celor N puncte initiale.
Pe urmatoarele Q linii este descrisa cate o operatie. Acestea pot fi de doua tipuri:
- $1 X Y$ - se insereaza un nou punct la coordonatele $(X, Y)$
- $2 X Y$ - se sterge un punct de la coordonatele $(X, Y)$
Fişierul de intrare $triunghiuri.in$ conţine pe prima linie 2 numere: $N$ şi $Q$.
Pe următoarele $N$ linii se găsesc coordonatele celor $N$ puncte iniţiale.
Pe următoarele $Q$ linii este descrisă câte o operaţie. Acestea pot fi de două tipuri:
- $1 X Y$ - se inserează un nou punct la coordonatele $(X, Y)$. Se garanteaza că acest punct nu există deja.
- $2 X Y$ - se şterge un punct de la coordonatele $(X, Y)$. Se garantează că acest punct există deja.
h2. Date de ieşire
În fişierul de ieşire $triunghiuri.out$ se vor afisa $Q+1$ linii, numarul de triunghiuri speciale pentru configuratia initiala precum si dupa fiecare actualizare.
În fişierul de ieşire $triunghiuri.out$ se vor afişa $Q+1$ linii, numărul de modalităţi de a alege 3 puncte respectând ceria, atât pentru configuraţia iniţială precum şi după fiecare actualizare.
h2. Restricţii
* $1 ≤ n ≤ 10000$
* $0 ≤ q ≤ 10000$
* $1 ≤ N ≤ 10000$
* $0 ≤ Q ≤ 10000$
* $-10^9^ ≤ x, y ≤ 10^9^$
* Toate coordonatele sunt numere intregi
* Pentru 50% din teste se garanteaza ca $n ≤ 100$ si $q = 0$.
* Un triunghi degenerat (de arie $0$) este considerat special.
* Un triunghi degenerat (de arie $0$) este considerat intreg.
* O modificare anterioara se pastreaza si pentru modificarile ce o urmeaza.
h2. Exemplu
 4 1
 2 4 1
 1 8 9
 1 5 -8
 2 5 -8
 1 4 2
 1 4 3
| 6

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.