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

Diferente intre titluri:

triunghiuri
Triunghiuri

Diferente intre continut:

== include(page="template/taskheader" task_id="triunghiuri") ==
Un nou grup infractional, Z, a aparut la tine in oras si incearca sa distruga Craciunul. Se stie ca harta orasului este un plan cu diverse locatii importante, reprezentate drept puncte in acest plan.
Z actioneaza intr-un mod foarte specific: intotdeauna ataca cate 3 puncte de interes, dar doar daca triunghiul format de acestea este un triunghi intreg. Un triunghi se numeste intreg daca are toate coordonatele colturilor intregi si este de arie intreaga (inclusiv 0).
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).
Cunoscand cele $N$ locatii intitiale si $Q$ modificari pe care le sufera harta, trebuie sa realizezi un program care calculeaza in cate moduri ar putea infractorii sa tinteasca 3 puncte, atat pentru configuratia intiala, cat si dupa fiecare modificare.
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)$. Se garanteaza ca acest punct nu exista deja.
- $2 X Y$ - se sterge un punct de la coordonatele $(X, Y)$. Se garanteaza ca acest punct exista deja.
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

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.