La un atelier de tâmplărie se confecţionează scaune tip taburet ce vor fi vopsite în două culori: roşu şi alb. Culoarea roşie este codificată prin valoarea , iar culoarea albă este codificată prin valoarea .
Un taburet este un scaun simplu, fără spătar, de formă cubică, confecţionat prin asamblarea a plăci identice ( dintre plăci vor forma feţele laterale ale scaunului iar celelalte vor forma bazele scaunului).
În atelier, pentru construirea fiecărui scaun se procedează astfel: se iau câte plăci, se numerotează de la la şi se aleg una, două, trei sau cel mult patru plăci pentru a se vopsi cu roşu iar celelalte plăci rămase se vopsesc cu alb. Se asamblează cele plăci ale scaunului astfel:
- placa numerotată cu va fi baza scaunului;
- placa numerotată cu va fi placa din faţă;
- placa numerotată cu va fi placa din stânga;
- placa numerotată cu va fi placa din spate;
- placa numerotată cu va fi placa din dreapta;
- placa numerotată cu va fi placa baza superioară a scaunului
De exemplu, dacă se aleg plăcile , şi şi se vopsesc cu roşu, se va confecţiona un scaun ca în figura alăturată.
Când toate cele scaune tip taburet sunt gata, se constată că, deşi modul de alegere al plăcilor vopsite cu roşu a fost diferit, multe taburete arată la fel. Două taburete arată la fel şi sunt de acelaşi tip dacă există un mod de a le aşeza pe fiecare dintre ele astfel încât din orice parte le-am privi feţele lor sunt colorate la fel.
Cerinţă.
Cunoscând modul în care s-a vopsit fiecare placă din care e format un taburet, scrieţi un program care să determine câte tipuri de taburete au fost confecţionate şi care este cel mai mare număr de taburete de acelaşi tip.
Date de intrare
Fişierul taburet.in
conţine pe prima linie un număr natural ce reprezintă numărul taburetelor confecţionate şi pe următoarele linii câte numere naturale (cu valori de sau ) despărţite printr-un spaţiu, ce reprezintă modul de vopsire al plăcilor, în ordinea crescătoare a numerelor scrise pe acestea.
Date de ieşire
Fişierul taburet.out
va conţine pe prima linie un număr natural ce reprezintă câte tipuri de taburete au fost confecţionate şi pe a doua linie, cel mai mare număr de taburete de acelaşi fel.
Restricții și precizări
- după asamblarea oricărui taburet, numerele de pe plăci nu mai sunt vizibile;
Exemplu
taburet.in
6
1 0 1 0 0 0
1 0 1 0 1 0
1 1 0 0 0 1
0 0 1 0 1 0
0 0 0 0 0 1
0 1 1 0 0 0
taburet.out
4
2
Explicație
S-au confecţionat taburete, şi s-au vopsit cu roşu:
- pentru taburetul : plăcile şi ;
- pentru taburetul : plăcile , şi ;
- pentru taburetul : plăcile , şi ;
- pentru taburetul : plăcile şi ;
- pentru taburetul : placa ;
- pentru taburetul : plăcile şi ;
Primul şi ultimul taburet sunt de acelaşi tip. De asemenea, al doilea şi al treilea taburet sunt de acelaşi tip. S-au confecţionat tipuri de taburete şi sunt maxim două taburete de acelaşi tip.