== include(page="template/taskheader" task_id="trio") ==
Trio este un joc ce conține *N* piese de aceeași formă, așezate una lângă alta pe o tablă de joc și numerotate de la stânga la dreapta cu valori de la 1 la *N*. Fiecare piesă are marcate pe ea trei zone, iar în fiecare dintre ele este scrisă câte o cifră. Se consideră că o piesă pe care sunt scrise în ordine, de la stânga la dreapta, cifrele *C1*, *C2* și *C3* are următoarele proprietăți:
* este identică cu o altă piesă, dacă această piesă conține exact aceleași cifre, în aceeași ordine cu ale ei sau în ordine inversă. Astfel, piesa *C1 | C2 | C3* este identică cu o altă piesă de forma *C1 | C2 | C3* și cu o piesă de forma *C3 | C2 | C1*.
* este prietenă cu o altă piesă dacă aceasta conține exact aceleași cifre ca piesa dată, dar nu neapărat în aceeași ordine. Astfel, piesa *C1 | C2 | C3* este prietenă cu piesele: *C1 | C2 | C3*, *C1 | C3 | C2*, *C2 | C1 | C3*, *C2 | C3 | C1*, *C3 | C1 | C2* și *C3 | C2 | C1*. Se observă că două piese identice sunt și prietene!
Un grup de piese prietene este format din *TOATE* piesele prietene între ele, aflate pe tabla de joc.
Trio este un joc ce conține $N$ piese de aceeași formă, așezate una lângă alta pe o tablă de joc și numerotate de la stânga la dreapta cu valori de la $1$ la [$N$]. Fiecare piesă are marcate pe ea trei zone, iar în fiecare dintre ele este scrisă câte o cifră. Se consideră că o piesă pe care sunt scrise în ordine, de la stânga la dreapta, cifrele C1, C2 și C3 are următoarele proprietăți:
* este identică cu o altă piesă, dacă această piesă conține exact aceleași cifre, în aceeași ordine cu ale ei sau în ordine inversă. Astfel, piesa $C1|C2|C3$ este identică cu o altă piesă de forma $C1|C2|C3$ și cu o piesă de forma $C3|C2|C1$.
* este prietenă cu o altă piesă dacă aceasta conține exact aceleași cifre ca piesa dată, dar nu neapărat în aceeași ordine. Astfel, piesa $C1|C2|C3$ este prietenă cu piesele: $C1|C2|C3$, $C1|C3|C2$, $C2|C1|C3$, $C2|C3|C1$, $C3|C1|C2$ și $C3|C2|C1$. Se observă că două piese identice sunt și prietene!
Un grup de piese prietene este format din $TOATE$ piesele prietene între ele, aflate pe tabla de joc.
h2. Cerinta
# Alegeți o piesă de pe tabla de joc, astfel încât numărul *M* al pieselor identice cu ea să fie cel mai mare posibil și afișați numărul *M* determinat;
# Afișați numărul grupurilor de piese prietene existente pe tabla de joc;
# Afișați numărul maxim de piese dintr-o secvență ce conține piese așezate una lângă alta pe tabla de joc, pentru care prima piesă și ultima piesă din secvență sunt prietene.
1) Alegeți o piesă de pe tabla de joc, astfel încât numărul $M$ al pieselor identice cu ea să fie cel mai mare posibil și afișați numărul $M$ determinat;
2) Afișați numărul grupurilor de piese prietene existente pe tabla de joc;
3) Afișați numărul maxim de piese dintr-o secvență ce conține piese așezate una lângă alta pe tabla de joc, pentru care prima piesă și ultima piesă din secvență sunt prietene.
h2. Date de intrare
Fișierul $trio.in$ conține:
* pe prima linie un număr natural *C* care reprezintă numărul cerinței și poate avea valorile 1, 2 sau 3.
* pe cea de-a doua linie un număr natural *N* ce reprezintă numărul pieselor de joc;
* pe următoarele *N* linii, câte trei cifre, despărțite prin câte un spațiu, ce reprezintă, în ordine, cifrele scrise pe câte o piesă de joc. Piesele sunt date în ordinea numerotării acestora pe tabla de joc.
Fișierul de intrare $trio.in$ ...
h2. Date de ieșire
Fișierul $trio.out$ va conține pe prima linie un singur număr natural ce reprezintă rezultatul determinat conform fiecărei cerințe.
În fișierul de ieșire $trio.out$ ...
h2. Restricții
* $2 ≤ *N* ≤ 100000$
* $Există cel puțin două piese identice pe tabla de joc;$
* $O piesă ce nu e prietenă cu nicio altă piesă de pe tabla de joc formează singură un grup;$
* $Pentru rezolvarea cerinței 1) se acordă 20 de puncte, pentru rezolvarea cerinței 2) se acordă 30 de puncte iar pentru rezolvarea cerinței 3) se acordă 50 de puncte.$
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example).
|_. trio.in |_. trio.out |_. Explicatii |
|1
6
1 3 3
4 5 9
1 3 3
9 5 4
3 3 1
9 4 5
|2
| !problema/trio?trio1.jpeg!.
Se rezolvă cerința 1. Alegând oricare din piesele 1, 3 sau 5 există pe tablă *două* piese
identice cu piesa aleasă. Alegând oricare din piesele 2 sau 4 există doar o piesă ce este identică
cu piesa aleasă. Dacă alegem piesa 6 nu există pe tablă piese identice cu ea. |
|2
6
1 3 3
4 5 9
0 8 0
9 5 4
3 3 1
9 4 5
|3
| !problema/trio?trio-001.jpeg!.
Se rezolvă cerința 2. Piesele 1 și 5 formează un grup de piese prietene. Piesele 2, 4 și 6 formează alt
grup. Piesa 3 formează singură un grup. În total, pe tablă, sunt 3 grupuri de piese prietene.|
|3
6
1 3 3
4 5 9
0 8 0
9 5 4
3 3 1
9 4 5
|5
|Se rezolvă cerința 3. Identificăm două secvențe de lungime maximă, egală cu 5, pentru care prima și
ultima piesă sunt prietene:
!problema/trio?trio2.2.jpeg!.
!problema/trio?trio2.jpeg!|
|_. trio.in |_. trio.out |
| 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="trio") ==