#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 | #40247321 | Utilizator | |
Fișier | cub1.cpp | Dimensiune | 1.56 KB |
Data încărcării | 03 Decembrie 2022, 09:54 | Scor / rezultat | Eroare de compilare |
In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/c++allocator.h:33:0, from /usr/include/c++/4.8/bits/allocator.h:46, from /usr/include/c++/4.8/string:41, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from cub1.cpp:1: /usr/include/c++/4.8/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = poz; _Args = {int, int, int}; _Tp = poz]': /usr/include/c++/4.8/bits/deque.tcc:137:6: required from 'void std::deque<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int, int, int}; _Tp = poz; _Alloc = std::allocator<poz>]' /usr/include/c++/4.8/bits/stl_queue.h:223:4: required from 'void std::queue<_Tp, _Sequence>::emplace(_Args&& ...) [with _Args = {int, int, int}; _Tp = poz; _Sequence = std::deque<poz, std::allocator<poz> >]' cub1.cpp:42:22: required from here /usr/include/c++/4.8/ext/new_allocator.h:120:4: error: new initializer expression list treated as compound expression [-fpermissive] { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^ /usr/include/c++/4.8/ext/new_allocator.h:120:4: error: no matching function for call to 'poz::poz(int)' /usr/include/c++/4.8/ext/new_allocator.h:120:4: note: candidates are: cub1.cpp:17:8: note: poz::poz() struct poz{ ^ cub1.cpp:17:8: note: candidate expects 0 arguments, 1 provided cub1.cpp:17:8: note: constexpr poz::poz(const poz&) cub1.cpp:17:8: note: no known conversion for argument 1 from 'int' to 'const poz&' cub1.cpp:17:8: note: constexpr poz::poz(poz&&) cub1.cpp:17:8: note: no known conversion for argument 1 from 'int' to 'poz&&'
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ă.