Fişierul intrare/ieşire:taburet.in, taburet.outSursăONI 2011 baraj gimnaziu
AutorCristina IordaicheAdăugată defrancuCristian Francu francu
Timp execuţie pe test0.1 secLimită de memorie16384 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Taburet (baraj gimnaziu)

La un atelier de tâmplărie se confecţionează n scaune tip taburet ce vor fi vopsite în două culori: roşu şi alb. Culoarea roşie este codificată prin valoarea 1, iar culoarea albă este codificată prin valoarea 0. Un taburet este un scaun simplu, fără spătar, de formă cubică, confecţionat prin asamblarea a 6 plăci identice (4 dintre plăci vor forma feţele laterale ale scaunului iar celelalte 2 vor forma bazele scaunului). În atelier, pentru construirea fiecărui scaun se procedează astfel: se iau câte 6 plăci, se numerotează de la 1 la 6 ş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 6 plăci ale scaunului astfel:

  • placa numerotată cu 1 va fi baza scaunului;
  • placa numerotată cu 2 va fi placa din faţă;
  • placa numerotată cu 3 va fi placa din stânga;
  • placa numerotată cu 4 va fi placa din spate;
  • placa numerotată cu 5 va fi placa din dreapta;
  • placa numerotată cu 6 va fi placa baza superioară a scaunului

De exemplu, dacă se aleg plăcile 1,2 şi 6 şi se vopsesc cu roşu, se va confecţiona un scaun ca în figura alăturată.

Când toate cele n 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 de intrare taburet.in conţine pe prima linie un număr natural n ce reprezintă numărul taburetelor confecţionate şi pe următoarele n linii câte 6 numere naturale (cu valori de 0 sau 1) 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 de ieşire 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

  • 1 ≤ n ≤ 10000
  • După asamblarea oricărui taburet, numerele de pe plăci nu mai sunt vizibile.

Exemplu

taburet.intaburet.outExplicaţii
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
4
2
S-au confecţionat 6 taburete, şi s-au vopsit cu roşu:
* pentru taburetul 1: plăcile 1 şi 3 ;
* pentru taburetul 2: plăcile 1,3 şi 5;
* pentru taburetul 3: plăcile 1,2 şi 6;
* pentru taburetul 4: plăcile 3 şi 5;
* pentru taburetul 5: placa 6;
* pentru taburetul 6:plăcile 2 şi 3;
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 4 tipuri de taburete şi sunt maxim două taburete de acelaşi tip.
Trebuie sa te autentifici pentru a trimite solutii. Click aici