== include(page="template/taskheader" task_id="tric") ==
Poveste si cerinta...
Din cei $n$ participanti la olimpiada de informatica se pot distinge $m$ perechi de prieteni. Aceste perechi au cateva proprietati interesante:
* daca $A$ este prieten cu {$B$}, atunci $B$ este prieten cu {$A$};
* daca {$A{~1~}$} este prieten cu {$A{~2~}$}, $A{~2~}$ cu {$A{~3~}$}, ..., {$A{~k-1~}$} cu {$A{~k~}$} si {$A{~k~}$} cu {$A{~1~}$}, atunci exista cel putin o pereche ({$i, j$}), {$1 ≤ i, j ≤ k$}, astfel incat:
** {$A{~i~}$} si {$A{~j~}$} sunt prieteni
** {$(i mod k) + 1 ≠ j$}
** {$(j mod k) + 1 ≠ i$}
Se numeste triunghi de prieteni un set de $3$ prieteni {$A$}, {$B$} si {$C$}, cu proprietatea ca {$A$} este prieten cu {$B$}, {$B$} cu $C$ si $C$ cu {$A$}.
h2. Cerinta
Aflati cate triunghiuri de prieteni exista.
h2. Date de intrare
...
Pe prima linie a fisierului de intrare $tric.in$ se gasesc, separate prin spatii, numerele naturale {$n$} si {$m$}. Pe urmatoarele $m$ linii se gasesc perechi de numere {$A B$}, intre $0$ si {$n-1$}, cu semnificatia ca $A$ este prieten cu {$B$}.
h2. Date de iesire
...
Pe singura linie a fisierului de iesire $tric.out$ afisati numarul de triunghiuri de prieteni.
h2. Restrictii
* $... ≤ ... ≤ ...$
* {$2 ≤ n ≤ 100 000$}
* {$1 ≤ m ≤ 100 000$}
* pentru $20%$ din teste, {$n ≤ 300$}
* pentru $50%$ din teste, {$n ≤ 1000$}
h2. Exemplu
table(example). |_. tric.in |_. tric.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| 4 4
0 1
1 2
2 0
2 3
| 1
|
h3. Explicatie
...
== include(page="template/taskfooter" task_id="tric") ==
== SmfTopic(topic_id="...") ==