Cuburi

Time limit: 0.1s Memory limit: 2MB Input: cuburi.in Output: cuburi.out

Un joc nou este format din nn cuburi identice, numerotate de la 11 la nn. Fiecare cub are toate cele șase fețe adezive (cu "scai"). Jocul constă în realizarea unui obiect din toate cele nn cuburi. Obiectul inițial este cubul 11. Un obiect se obține din obiectul anterior prin alipirea unui nou cub la un cub aflat în obiect, pe una din fețele acestuia.

Pentru alipirea unui cub nou, se extrage un bileµel cu numărul cubului la care se va alipi acesta și se aruncă un zar care va indica unde va fi lipit cubul nou (sus, jos, la stânga, la dreapta, în față sau în spate, poziții codificate respectiv cu 11, 22, 33, 44, 55, 66, ale cubului din obiect).

Cerință 

  • Dându-se o succesiune de alipire a cuburilor, verificați dacă aceasta este valid 
  • Dacă succesiunea este validă, precizați dacă obiectul obținut are forma unui paralelipiped plin, specificând dimesiunile acestuia.

Date de intrare

Fisierul cuburi.in conține pe prima linie valoarea lui nn. Pe următoarele n1n - 1 linii, se află o succesiune de așezare a cuburilor, pentru fiecare cub specificând: numarcubnumar_{cub}, biletelbiletel, zarzar, valori separate prin câte un spatiu.

Date de ieșire

Fișierul de iesire cuburi.out va conține pe două linii rezultatele de la punctul a și respectiv b după cum urmează:

  • Dacă succesiunea este validă, prima linie va conține valoarea 00. În caz contrar, prima linie va conține numărul cubului ce nu poate fi alipit, numărul cubului și numărul feței la care nu se poate alipi, precum si codul de eroare: 11 pentru alipire la cub inexistent; 22 pentru alipire pe o față ocupată.
  • Dacă obiectul nu este paralelipiped plin, sau dacă succesiunea nu este validă, a doua linie a fișierului va conține valoarea 00.
  • Dacă obiectul este paralelipiped plin, a doua linie a fișierului va conține dimensiunile acestuia, măsurate în număr de cuburi, în ordinea: număr de cuburi pe directiile sus-jos, stânga-dreapta, față-spate separate prin câte un spatiu.

Restricții și precizări

  • 2n1 0002 \leq n \leq 1 \ 000;
  • pe o dimensiune se alipesc cel mult 1010 cuburi.

Exemplul 1

cuburi.in

6
2 1 1
3 2 4
5 1 4
6 3 1
4 6 3

cuburi.out

0
3 2 1

Exemplul 2

cuburi.in

4
2 1 1
4 2 1
3 2 4

cuburi.out

0
0

Exemplul 3

cuburi.in

8
2 1 1
5 1 4
6 3 6
7 6 2
3 2 4
4 2 6
8 7 3

cuburi.out

6 3 6 1
0

Exemplul 4

cuburi.in

8
2 1 1
4 2 6
3 2 4
6 3 6
7 6 2
5 1 6
8 7 3

cuburi.out

8 7 3 2
0

Log in or sign up to be able to send submissions!