Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2009-02-26 22:12:36.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:alge.in, alge.outSursăOLI 2009, Bucuresti, clasele 11-12
AutorDan GrigoriuAdăugată deandrei-alphaAndrei-Bogdan Antonescu andrei-alpha
Timp execuţie pe test0.05 secLimită de memorie4736 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Alge

Un acvariu de forma cubică şi latură n se secţionează, mai întâi, cu n-1 plane orizontale şi echidistante, obţinându-se n niveluri de grosime 1, numerotate de la 1 la n ( 1 pentru cel de sus), apoi se secţionează cu n-1 plane verticale echidistante şi paralele cu feţele laterale stânga-dreapta obţinându-se $n$ “lame“ de grosime 1, numerotate de la 1 la n ( 1 pentru cea din stânga), iar la final se secţionează cu n-1 plane verticale, echidistante şi paralele cu feţele laterale faţă-spate, obţinându-se n “lame“ de grosime 1, numerotate de la 1 la n ( 1 pentru cea din faţă). Coordonatele unui cub cu latura 1 din secţiune sunt în ordine: prima coordonată pentru nivel, a doua pentru lama stânga-dreapta şi a treia pentru lama faţă-spate. În acvariu se găsesc ng “grupuri” de alge. Grupurile au forma cubică, fiind situate în cuburi cu latura 1 din secţiune, şi sunt dispuse astfel încât să nu se atingă între ele, nici măcar printr-un vârf de algă.

Cerinta

Să se determine un drum în acvariu pentru un peştişor, care trebuie să plece din cubul de secţiune situat în colţul stânga-faţă-sus, de coordonate (1;1;1), şi să ajungă în cubul de secţiune situat colţul dreapta-spate-jos, de coordonate (n;n;n), fără să treacă prin niciun grup de alge, iar drumul să fie de lungime minimă.

Date de intrare

Fişierul alge.in conţine pe prima linie cele două numere naturale n şi ng, separate de printr-un spaţiu. Pe fiecare din următoarele ng linii, sunt scrise câte 3 numere naturale, separate prin câte un spaţiu, reprezentând cele 3 coordonate cubului cu latura 1 din secţiune în care este situat un grup de alge. 

Date de ieşire

În fişierul alge.out se vor scrie:

  • pe prima linie un număr natural k reprezentând lungimea drumului minim
  • pe fiecare dintre următoarele k linii sunt scrise câte trei numere naturale, separate prin câte un spaţiu, reprezentând coordonatele cuburilor cu latura 1 din secţiune prin care trece drumul de lungime minimă (fiecare triplet reprezintă coordonatele unei poziţii în drumul peştişorului (prima poziţie va fi (1;1;1) iar ultima (n;n;n))).

Restricţii

  • 2 ≤ n ≤ 35
  • 0 ≤ ng ≤ 30
  • Cuburile, cu latura 1 din secţiune, situate în colţurile stânga-faţă-sus şi dreapta-spate-jos nu sunt ocupate de alge. 
  • Lungimea drumului este egală cu numărul de cuburi cu latura 1 din secţiune prin care trece peştişorul
  • Pot exista mai multe drumuri de lungime minimă; se cere o singură soluţie.

Exemplu

alge.inalge.out
3 1
3 1 1
7
1 1 1
1 1 2
1 1 3
1 2 3
1 3 3
2 3 3
3 3 3

Explicaţie

Acvariul are latura de 3 şi există un singur grup de alge situat în cubul cu latura 2 din secţiune de coordonate (3;1;1), adica este lipit de colţul faţă-stânga-jos al acvariului.
Drumul de lungime minimă al peştisorului trece prin k=7 cuburi cu latura 1 din secţiune, şi anume: din cubul de coordonate (1;1;1), în linie dreapta spre ”spatele ” acvariului , până în cubul de coordonate (1;1;3), apoi la dreapta spre cubul de coordonate (1;3;3) şi apoi în jos, până în cubul de coordonate (3;3;3).

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?