Nu aveti permisiuni pentru a descarca fisierul grader_test7.in
Diferente pentru problema/triunghiuri intre reviziile #21 si #4
Diferente intre titluri:
Triunghiuri
triunghiuri
Diferente intre continut:
== include(page="template/taskheader" task_id="triunghiuri") ==
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.
Poveste şi cerinţă...
h2. Date de intrare
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.
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)$
h2. Date de ieşire
În fişierul de ieşire $triunghiuri.out$ se vor afişa $Q+1$ linii, numărul demodalităţide a alege 3 puncterespectând cerinţa,atâtpentru configuraţia iniţialăprecumşi dupăfiecare actualizare.
Î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.
h2. Restricţii
* $1 ≤ N ≤ 10000$ * $0 ≤ Q ≤ 10000$ * $-10^9^ ≤ x, y ≤ 10^9^$ * Toate coordonatele sunt numere intregi
* $1 ≤ n ≤ 10000$ * $0 ≤ q ≤ 10000$
* Pentru 50% din teste se garanteaza ca $n ≤ 100$ si $q = 0$.
* Un triunghi degenerat (de arie $0$) este considerat intreg. * O modificare anterioara se pastreaza si pentru modificarile ce o urmeaza.
* Un triunghi degenerat (de arie $0$) este considerat special.
h2. Exemplu table(example). |_. triunghiuri.in |_. triunghiuri.out |
| 5 0 5 8 9 2 9 9 9 -6 10 -5 | 7 | | 5 5 5 -4 -2 3 -5 9 5 -8 4 1 2 4 1 1 8 9 2 5 -8 1 4 2 1 4 3 | 6 2 6 2 3 10 |
| This is some text written on multiple lines. | This is another text written on multiple lines. | h3. Explicaţie ...
== include(page="template/taskfooter" task_id="triunghiuri") ==