#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 | #15758163 | Utilizator | |
Fișier | cub1.cpp | Dimensiune | 3.42 KB |
Data încărcării | 11 Mai 2019, 00:00 | Scor / rezultat | 100 puncte |
cub1.cpp: In function 'int main()': cub1.cpp:103:33: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long long int' [-Wformat=] printf("%d\n",lee[n][n][n]); ^ cub1.cpp:42:27: warning: unused variable 'k' [-Wunused-variable] int p, x, y, z, i, j, k, maxim; ^ cub1.cpp:40:33: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("cub1.in","r",stdin); ^ cub1.cpp:41:35: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("cub1.out","w",stdout); ^ cub1.cpp:43:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&p); ^ cub1.cpp:44:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&n); ^ cub1.cpp:48:55: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&mat[x][y][z]), viz[x][y][z] = -1; ^
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.004 secunde | Corect! | 5 | 5 | ||
5 | 0.016 secunde | Corect! | 5 | 5 | ||
6 | 0.016 secunde | Corect! | 5 | 5 | ||
7 | 0.024 secunde | Corect! | 5 | 5 | ||
8 | 0.036 secunde | Corect! | 5 | 5 | ||
9 | 0.044 secunde | Corect! | 5 | 5 | ||
10 | 0.052 secunde | Corect! | 5 | 5 | ||
11 | 0.06 secunde | Corect! | 5 | 5 | ||
12 | 0.068 secunde | Corect! | 5 | 5 | ||
13 | 0.08 secunde | Corect! | 5 | 5 | ||
14 | 0.092 secunde | Corect! | 5 | 5 | ||
15 | 0.1 secunde | Corect! | 5 | 5 | ||
16 | 0.104 secunde | Corect! | 5 | 5 | ||
17 | 0.12 secunde | Corect! | 5 | 5 | ||
18 | 0.136 secunde | Corect! | 5 | 5 | ||
19 | 0.152 secunde | Corect! | 5 | 5 | ||
20 | 0.156 secunde | Corect! | 5 | 5 | ||
Punctaj total | 100 |
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ă.