#628
Cub1
Lui Andrei îi plac foarte mult jocurile de tip puzzle. De curând, el a descoperit un joc nou: un cub de dimensiune n
format din n•n•n
cuburi unitate sub forma unor cămăruţe. Cubul poate fi văzut ca o matrice tridimensionala ale cărei elemente sunt cămăruţele. Două cămăruţe se numesc adiacente dacă au o faţă comună. Astfel, o cămăruţă poate fi adiacentă cu maxim 6
cămăruţe. Scopul jocului este acela de a duce o bilă din cămăruţa de coordonate (1,1,1)
în cămăruţa de coordonate (n,n,n)
. Bila poate trece dintr-o cămăruţă în alta doar dacă acestea sunt adiacente, iar noua cămăruţă este accesibilă din cămăruţa curentă.
Cunoscând n
, dimensiunea cubului şi valorile asociate fiecărei cămăruţe, determinaţi:
a) cămăruța cu un număr maxim de cămăruțe ce pot fi accesate din ea;
b) un drum de lungime minimă de la cămăruţa (1,1,1)
la cămăruţa (n,n,n)
.
Grigore Moisil, 2014
Problema | Cub1 | Operații I/O |
cub1.in /cub1.out
|
---|---|---|---|
Limita timp | 2 secunde | Limita memorie |
Total: 32 MB
/
Stivă 16 MB
|
Id soluție | #41175296 | Utilizator | |
Fișier | cub1.cpp | Dimensiune | 4.72 KB |
Data încărcării | 14 Ianuarie 2023, 23:48 | Scor / rezultat | 95 puncte |
cub1.cpp: In function 'int LEE(int, int, int)': cub1.cpp:30:21: warning: narrowing conversion of 'i' from 'int' to 'char' inside { } [-Wnarrowing] Q.push({i,j,k,0}); ^ cub1.cpp:30:21: warning: narrowing conversion of 'j' from 'int' to 'char' inside { } [-Wnarrowing] cub1.cpp:30:21: warning: narrowing conversion of 'k' from 'int' to 'char' inside { } [-Wnarrowing] cub1.cpp:33:18: warning: array subscript has type 'char' [-Wchar-subscripts] x=a[h.lin][h.col][h.dim]; ^ cub1.cpp:33:25: warning: array subscript has type 'char' [-Wchar-subscripts] x=a[h.lin][h.col][h.dim]; ^ cub1.cpp:33:32: warning: array subscript has type 'char' [-Wchar-subscripts] x=a[h.lin][h.col][h.dim]; ^ cub1.cpp:34:51: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.lin<n && x%2==1 && viz[h.lin+1][h.col][h.dim].score==0) { ^ cub1.cpp:34:58: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.lin<n && x%2==1 && viz[h.lin+1][h.col][h.dim].score==0) { ^ cub1.cpp:35:31: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin+1][h.col][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:35:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin+1][h.col][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:35:55: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin+1][h.col][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:35:62: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin+1][h.col][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:35:69: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin+1][h.col][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:36:31: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin+1][h.col][h.dim].lin=h.lin; ^ cub1.cpp:36:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin+1][h.col][h.dim].lin=h.lin; ^ cub1.cpp:37:31: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin+1][h.col][h.dim].col=h.col; ^ cub1.cpp:37:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin+1][h.col][h.dim].col=h.col; ^ cub1.cpp:38:31: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin+1][h.col][h.dim].dim=h.dim; ^ cub1.cpp:38:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin+1][h.col][h.dim].dim=h.dim; ^ cub1.cpp:40:26: warning: narrowing conversion of '(((int)h.inf::lin) + 1)' from 'int' to 'char' inside { } [-Wnarrowing] Q.push({h.lin+1,h.col,h.dim,0}); ^ cub1.cpp:43:51: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.lin>1 && x%2==1 && viz[h.lin-1][h.col][h.dim].score==0){ ^ cub1.cpp:43:58: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.lin>1 && x%2==1 && viz[h.lin-1][h.col][h.dim].score==0){ ^ cub1.cpp:44:31: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin-1][h.col][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:44:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin-1][h.col][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:44:55: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin-1][h.col][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:44:62: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin-1][h.col][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:44:69: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin-1][h.col][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:45:31: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin-1][h.col][h.dim].lin=h.lin; ^ cub1.cpp:45:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin-1][h.col][h.dim].lin=h.lin; ^ cub1.cpp:46:31: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin-1][h.col][h.dim].col=h.col; ^ cub1.cpp:46:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin-1][h.col][h.dim].col=h.col; ^ cub1.cpp:47:31: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin-1][h.col][h.dim].dim=h.dim; ^ cub1.cpp:47:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin-1][h.col][h.dim].dim=h.dim; ^ cub1.cpp:49:26: warning: narrowing conversion of '(((int)h.inf::lin) + -1)' from 'int' to 'char' inside { } [-Wnarrowing] Q.push({h.lin-1,h.col,h.dim,0}); ^ cub1.cpp:52:42: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.col<n && x%2==1 && viz[h.lin][h.col+1][h.dim].score==0){ ^ cub1.cpp:52:58: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.col<n && x%2==1 && viz[h.lin][h.col+1][h.dim].score==0){ ^ cub1.cpp:53:21: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col+1][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:53:37: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col+1][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:53:54: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col+1][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:53:61: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col+1][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:53:68: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col+1][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:54:21: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col+1][h.dim].lin=h.lin; ^ cub1.cpp:54:37: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col+1][h.dim].lin=h.lin; ^ cub1.cpp:55:21: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col+1][h.dim].col=h.col; ^ cub1.cpp:55:37: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col+1][h.dim].col=h.col; ^ cub1.cpp:56:21: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col+1][h.dim].dim=h.dim; ^ cub1.cpp:56:37: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col+1][h.dim].dim=h.dim; ^ cub1.cpp:58:31: warning: narrowing conversion of '(((int)h.inf::col) + 1)' from 'int' to 'char' inside { } [-Wnarrowing] Q.push({h.lin,h.col+1,h.dim,0}); ^ cub1.cpp:61:42: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.dim<n && x%2==1 && viz[h.lin][h.col][h.dim+1].score==0){ ^ cub1.cpp:61:49: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.dim<n && x%2==1 && viz[h.lin][h.col][h.dim+1].score==0){ ^ cub1.cpp:62:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim+1].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:62:29: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim+1].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:62:55: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim+1].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:62:62: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim+1].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:62:69: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim+1].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:63:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim+1].lin=h.lin; ^ cub1.cpp:63:29: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim+1].lin=h.lin; ^ cub1.cpp:64:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim+1].col=h.col; ^ cub1.cpp:64:29: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim+1].col=h.col; ^ cub1.cpp:65:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim+1].dim=h.dim; ^ cub1.cpp:65:29: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim+1].dim=h.dim; ^ cub1.cpp:67:38: warning: narrowing conversion of '(((int)h.inf::dim) + 1)' from 'int' to 'char' inside { } [-Wnarrowing] Q.push({h.lin,h.col,h.dim+1,0}); ^ cub1.cpp:70:42: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.col>1 && x%2==1 && viz[h.lin][h.col-1][h.dim].score==0){ ^ cub1.cpp:70:58: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.col>1 && x%2==1 && viz[h.lin][h.col-1][h.dim].score==0){ ^ cub1.cpp:71:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col-1][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:71:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col-1][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:71:55: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col-1][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:71:62: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col-1][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:71:69: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col-1][h.dim].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:72:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col-1][h.dim].lin=h.lin; ^ cub1.cpp:72:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col-1][h.dim].lin=h.lin; ^ cub1.cpp:73:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col-1][h.dim].col=h.col; ^ cub1.cpp:73:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col-1][h.dim].col=h.col; ^ cub1.cpp:74:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col-1][h.dim].dim=h.dim; ^ cub1.cpp:74:38: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col-1][h.dim].dim=h.dim; ^ cub1.cpp:76:32: warning: narrowing conversion of '(((int)h.inf::col) + -1)' from 'int' to 'char' inside { } [-Wnarrowing] Q.push({h.lin,h.col-1,h.dim,0}); ^ cub1.cpp:79:42: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.dim>1 && x%2==1 && viz[h.lin][h.col][h.dim-1].score==0){ ^ cub1.cpp:79:49: warning: array subscript has type 'char' [-Wchar-subscripts] if(h.dim>1 && x%2==1 && viz[h.lin][h.col][h.dim-1].score==0){ ^ cub1.cpp:80:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim-1].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:80:29: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim-1].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:80:55: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim-1].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:80:62: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim-1].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:80:69: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim-1].score=viz[h.lin][h.col][h.dim].score+1; ^ cub1.cpp:81:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim-1].lin=h.lin; ^ cub1.cpp:81:29: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim-1].lin=h.lin; ^ cub1.cpp:82:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim-1].col=h.col; ^ cub1.cpp:82:29: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim-1].col=h.col; ^ cub1.cpp:83:22: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim-1].dim=h.dim; ^ cub1.cpp:83:29: warning: array subscript has type 'char' [-Wchar-subscripts] viz[h.lin][h.col][h.dim-1].dim=h.dim; ^ cub1.cpp:85:38: warning: narrowing conversion of '(((int)h.inf::dim) + -1)' from 'int' to 'char' inside { } [-Wnarrowing] Q.push({h.lin,h.col,h.dim-1,0}); ^ cub1.cpp: In function 'int main()': cub1.cpp:132:27: warning: narrowing conversion of 'i' from 'int' to 'char' inside { } [-Wnarrowing] stiva.push({i,j,k,0}); ^ cub1.cpp:132:27: warning: narrowing conversion of 'j' from 'int' to 'char' inside { } [-Wnarrowing] cub1.cpp:132:27: warning: narrowing conversion of 'k' from 'int' to 'char' inside { } [-Wnarrowing] cub1.cpp:140:32: warning: narrowing conversion of 'i' from 'int' to 'char' inside { } [-Wnarrowing] stiva.push({i,j,k,0}); ^ cub1.cpp:140:32: warning: narrowing conversion of 'j' from 'int' to 'char' inside { } [-Wnarrowing] cub1.cpp:140:32: warning: narrowing conversion of 'k' from 'int' to 'char' inside { } [-Wnarrowing]
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Corect! | 5 | 5 | ||
2 | 0 secunde | Corect! | 5 | 5 | ||
3 | 0 secunde | Corect! | 5 | 5 | ||
4 | 0 secunde | Corect! | 5 | 5 | ||
5 | 0.012 secunde | Corect! | 5 | 5 | ||
6 | 0.016 secunde | Corect! | 5 | 5 | ||
7 | 0.02 secunde | Corect! | 5 | 5 | ||
8 | 0.032 secunde | Corect! | 5 | 5 | ||
9 | 0.04 secunde | Corect! | 5 | 5 | ||
10 | 0.076 secunde | Caught fatal signal 11 | 5 | 0 | ||
11 | 0.052 secunde | Corect! | 5 | 5 | ||
12 | 0.06 secunde | Corect! | 5 | 5 | ||
13 | 0.068 secunde | Corect! | 5 | 5 | ||
14 | 0.084 secunde | Corect! | 5 | 5 | ||
15 | 0.084 secunde | Corect! | 5 | 5 | ||
16 | 0.088 secunde | Corect! | 5 | 5 | ||
17 | 0.104 secunde | Corect! | 5 | 5 | ||
18 | 0.116 secunde | Corect! | 5 | 5 | ||
19 | 0.128 secunde | Corect! | 5 | 5 | ||
20 | 0.132 secunde | Corect! | 5 | 5 | ||
Punctaj total | 95 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cub1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.