#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 | #23339665 | Utilizator | |
Fișier | cub1.cpp | Dimensiune | 5.61 KB |
Data încărcării | 20 Iunie 2020, 01:32 | Scor / rezultat | Eroare de compilare |
cub1.cpp:16:44: error: converting to 'const std::tuple<short unsigned int, short unsigned int, short unsigned int>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int}; <template-parameter-2-2> = void; _Elements = {short unsigned int, short unsigned int, short unsigned int}]' const std::tuple<US, US, US> beg = {1, 1, 1}; ^ cub1.cpp: In function 'void Retrace()': cub1.cpp:106:21: error: converting to 'std::queue<std::tuple<short unsigned int, short unsigned int, short unsigned int> >::value_type {aka std::tuple<short unsigned int, short unsigned int, short unsigned int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {short unsigned int&, short unsigned int&, short unsigned int&}; <template-parameter-2-2> = void; _Elements = {short unsigned int, short unsigned int, short unsigned int}]' Q.push({n, n, n}); ^ cub1.cpp:107:24: error: converting to 'std::stack<std::tuple<short unsigned int, short unsigned int, short unsigned int> >::value_type {aka std::tuple<short unsigned int, short unsigned int, short unsigned int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {short unsigned int&, short unsigned int&, short unsigned int&}; <template-parameter-2-2> = void; _Elements = {short unsigned int, short unsigned int, short unsigned int}]' path.push({n, n, n}); ^ cub1.cpp: In function 'int main()': cub1.cpp:161:64: error: converting to 'const std::tuple<short unsigned int, short unsigned int, short unsigned int>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {short unsigned int&, short unsigned int&, short unsigned int&}; <template-parameter-2-2> = void; _Elements = {short unsigned int, short unsigned int, short unsigned int}]' cur_nr_chambers = nr_acc_chambers({i, j, k}); ^ cub1.cpp:165:35: error: converting to 'std::tuple<short unsigned int, short unsigned int, short unsigned int>' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {short unsigned int&, short unsigned int&, short unsigned int&}; <template-parameter-2-2> = void; _Elements = {short unsigned int, short unsigned int, short unsigned int}]' final_pos = {i, j, k}; ^
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ă.