Detalii evaluare #58073033

Rezumat problemă

Andrei se află într-un labirint format dintr-o matrice de camere, fiecare având unul dintre următoarele tipuri: 0: cameră cu bec stins, 1: cameră cu bec aprins, 2: cameră fără bec (inaccesibilă), 3: cameră cu întrerupător.

Camerele de tip 3 pot aprinde/stinge becurile altor camere. Andrei poate alege să apese sau nu întrerupătoarele întâlnite. El pornește dintr-o cameră dată și trebuie să ajungă într-o cameră destinație, deplasându-se doar prin camere aprinse.

Se cere determinarea distanței minime pentru a ajunge la destinație.

Concursul Național de Matematică și Informatică Grigore Moisil

Fișiere Moca Andrei (TREYWAY) Moca Andrei, Lorintz Alexandru, Maierean Mircea concurs

Detalii

Problema EscapeLight Operații I/O escapelight.in/escapelight.out
Limita timp 0.7 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #58073033 Utilizator robe antonia (robeantonia)
Fișier escapelight.cpp Dimensiune 4.46 KB
Data încărcării 12 Mai 2025, 19:22 Scor / rezultat Eroare de compilare

Evaluare

Mesaj compilare

escapelight.cpp: In function 'int main()':
escapelight.cpp:47:71: error: 'make_tuple' was not declared in this scope
         conexiuni[i] = make_tuple(x_switch, y_switch, x_light, y_light);

                                                                       ^
escapelight.cpp:56:50: error: 'make_tuple' was not declared in this scope
     visited.insert(make_tuple(x_start, y_start, 0));

                                                  ^
escapelight.cpp:98:65: error: 'tie' was not declared in this scope
                         tie(x_switch, y_switch, x_light, y_light) = conexiuni[j];

                                                                 ^
In file included from /usr/include/c++/4.8/vector:64:0,
                 from /usr/include/c++/4.8/queue:61,
                 from escapelight.cpp:3:
/usr/include/c++/4.8/bits/stl_vector.h: In instantiation of 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::vector<_Tp, _Alloc>::reference = std::tuple<int, int, int, int>&; std::vector<_Tp, _Alloc>::size_type = unsigned int]':
escapelight.cpp:47:20:   required from here
/usr/include/c++/4.8/bits/stl_vector.h:771:41: error: invalid use of incomplete type 'class std::tuple<int, int, int, int>'
       { return *(this->_M_impl._M_start + __n); }
                                         ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/ostream:38,
                 from /usr/include/c++/4.8/iostream:39,
                 from escapelight.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:83:11: error: declaration of 'class std::tuple<int, int, int, int>'
     class tuple;
           ^
In file included from /usr/include/c++/4.8/vector:64:0,
                 from /usr/include/c++/4.8/queue:61,
                 from escapelight.cpp:3:
/usr/include/c++/4.8/bits/stl_vector.h: In instantiation of 'std::vector<_Tp, _Alloc>::size_type std::vector<_Tp, _Alloc>::size() const [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::vector<_Tp, _Alloc>::size_type = unsigned int]':
escapelight.cpp:96:59:   required from here
/usr/include/c++/4.8/bits/stl_vector.h:646:50: error: invalid use of incomplete type 'class std::tuple<int, int, int, int>'
       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
                                                  ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/ostream:38,
                 from /usr/include/c++/4.8/iostream:39,
                 from escapelight.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:83:11: error: declaration of 'class std::tuple<int, int, int, int>'
     class tuple;
           ^
In file included from /usr/include/c++/4.8/vector:64:0,
                 from /usr/include/c++/4.8/queue:61,
                 from escapelight.cpp:3:
/usr/include/c++/4.8/bits/stl_vector.h: In instantiation of 'std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >]':
/usr/include/c++/4.8/bits/stl_vector.h:270:23:   required from 'std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const allocator_type&) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::tuple<int, int, int, int> >]'
escapelight.cpp:42:50:   required from here
/usr/include/c++/4.8/bits/stl_vector.h:161:9: error: invalid use of incomplete type 'class std::tuple<int, int, int, int>'
         - this->_M_impl._M_start); }
         ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/ostream:38,
                 from /usr/include/c++/4.8/iostream:39,
                 from escapelight.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:83:11: error: declaration of 'class std::tuple<int, int, int, int>'
     class tuple;
           ^
In file included from /usr/include/c++/4.8/set:60:0,
                 from escapelight.cpp:5:
/usr/include/c++/4.8/bits/stl_tree.h: In instantiation of 'struct std::_Rb_tree_node<std::tuple<int, int, int> >':
/usr/include/c++/4.8/bits/stl_tree.h:1125:25:   required from 'void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_erase(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type) [with _Key = std::tuple<int, int, int>; _Val = std::tuple<int, int, int>; _KeyOfValue = std::_Identity<std::tuple<int, int, int> >; _Compare = std::less<std::tuple<int, int, int> >; _Alloc = std::allocator<std::tuple<int, int, int> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::tuple<int, int, int> >*]'
/usr/include/c++/4.8/bits/stl_tree.h:671:28:   required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::~_Rb_tree() [with _Key = std::tuple<int, int, int>; _Val = std::tuple<int, int, int>; _KeyOfValue = std::_Identity<std::tuple<int, int, int> >; _Compare = std::less<std::tuple<int, int, int> >; _Alloc = std::allocator<std::tuple<int, int, int> >]'
/usr/include/c++/4.8/bits/stl_set.h:90:11:   required from here
/usr/include/c++/4.8/bits/stl_tree.h:134:12: error: 'std::_Rb_tree_node<_Val>::_M_value_field' has incomplete type
       _Val _M_value_field;
            ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/ostream:38,
                 from /usr/include/c++/4.8/iostream:39,
                 from escapelight.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:83:11: error: declaration of 'class std::tuple<int, int, int>'
     class tuple;
           ^
In file included from /usr/include/c++/4.8/vector:64:0,
                 from /usr/include/c++/4.8/queue:61,
                 from escapelight.cpp:3:
/usr/include/c++/4.8/bits/stl_vector.h: In instantiation of 'void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::size_t = unsigned int]':
/usr/include/c++/4.8/bits/stl_vector.h:136:30:   required from 'std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::size_t = unsigned int; std::_Vector_base<_Tp, _Alloc>::allocator_type = std::allocator<std::tuple<int, int, int, int> >]'
/usr/include/c++/4.8/bits/stl_vector.h:270:23:   required from 'std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const allocator_type&) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::tuple<int, int, int, int> >]'
escapelight.cpp:42:50:   required from here
/usr/include/c++/4.8/bits/stl_vector.h:183:59: error: invalid use of incomplete type 'class std::tuple<int, int, int, int>'
  this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
                                                           ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/ostream:38,
                 from /usr/include/c++/4.8/iostream:39,
                 from escapelight.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:83:11: error: declaration of 'class std::tuple<int, int, int, int>'
     class tuple;
           ^
In file included from /usr/include/c++/4.8/deque:62:0,
                 from /usr/include/c++/4.8/queue:60,
                 from escapelight.cpp:3:
/usr/include/c++/4.8/bits/stl_construct.h: In instantiation of 'void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = std::tuple<int, int, int, int>*]':
/usr/include/c++/4.8/bits/stl_construct.h:151:31:   required from 'void std::_Destroy(_ForwardIterator, _ForwardIterator, std::allocator<_T2>&) [with _ForwardIterator = std::tuple<int, int, int, int>*; _Tp = std::tuple<int, int, int, int>]'
/usr/include/c++/4.8/bits/stl_vector.h:416:30:   required from 'std::vector<_Tp, _Alloc>::~vector() [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >]'
escapelight.cpp:42:50:   required from here
/usr/include/c++/4.8/bits/stl_construct.h:127:27: error: invalid use of incomplete type '_Value_type {aka class std::tuple<int, int, int, int>}'
  __destroy(__first, __last);
                           ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/ostream:38,
                 from /usr/include/c++/4.8/iostream:39,
                 from escapelight.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:83:11: error: declaration of '_Value_type {aka class std::tuple<int, int, int, int>}'
     class tuple;
           ^
In file included from /usr/include/c++/4.8/deque:63:0,
                 from /usr/include/c++/4.8/queue:60,
                 from escapelight.cpp:3:
/usr/include/c++/4.8/bits/stl_uninitialized.h: In instantiation of 'void std::__uninitialized_default_n(_ForwardIterator, _Size) [with _ForwardIterator = std::tuple<int, int, int, int>*; _Size = unsigned int]':
/usr/include/c++/4.8/bits/stl_uninitialized.h:605:50:   required from 'void std::__uninitialized_default_n_a(_ForwardIterator, _Size, std::allocator<_Tp>&) [with _ForwardIterator = std::tuple<int, int, int, int>*; _Size = unsigned int; _Tp = std::tuple<int, int, int, int>]'
/usr/include/c++/4.8/bits/stl_vector.h:1225:28:   required from 'void std::vector<_Tp, _Alloc>::_M_default_initialize(std::vector<_Tp, _Alloc>::size_type) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::vector<_Tp, _Alloc>::size_type = unsigned int]'
/usr/include/c++/4.8/bits/stl_vector.h:271:34:   required from 'std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const allocator_type&) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::tuple<int, int, int, int> >]'
escapelight.cpp:42:50:   required from here
/usr/include/c++/4.8/bits/stl_uninitialized.h:544:33: error: invalid use of incomplete type '_ValueType {aka class std::tuple<int, int, int, int>}'
  __uninit_default_n(__first, __n);
                                 ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/ostream:38,
                 from /usr/include/c++/4.8/iostream:39,
                 from escapelight.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:83:11: error: declaration of '_ValueType {aka class std::tuple<int, int, int, int>}'
     class tuple;
           ^
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/ostream:38,
                 from /usr/include/c++/4.8/iostream:39,
                 from escapelight.cpp:1:
/usr/include/c++/4.8/ext/new_allocator.h: In instantiation of '_Tp* __gnu_cxx::new_allocator<_Tp>::allocate(__gnu_cxx::new_allocator<_Tp>::size_type, const void*) [with _Tp = std::tuple<int, int, int, int>; __gnu_cxx::new_allocator<_Tp>::pointer = std::tuple<int, int, int, int>*; __gnu_cxx::new_allocator<_Tp>::size_type = unsigned int]':
/usr/include/c++/4.8/bits/stl_vector.h:168:25:   required from 'std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::_Vector_base<_Tp, _Alloc>::pointer = std::tuple<int, int, int, int>*; std::size_t = unsigned int]'
/usr/include/c++/4.8/bits/stl_vector.h:181:25:   required from 'void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::size_t = unsigned int]'
/usr/include/c++/4.8/bits/stl_vector.h:136:30:   required from 'std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::size_t = unsigned int; std::_Vector_base<_Tp, _Alloc>::allocator_type = std::allocator<std::tuple<int, int, int, int> >]'
/usr/include/c++/4.8/bits/stl_vector.h:270:23:   required from 'std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const allocator_type&) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::tuple<int, int, int, int> >]'
escapelight.cpp:42:50:   required from here
/usr/include/c++/4.8/ext/new_allocator.h:104:54: error: invalid application of 'sizeof' to incomplete type 'std::tuple<int, int, int, int>'
  return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
                                                      ^
/usr/include/c++/4.8/ext/new_allocator.h: In instantiation of '__gnu_cxx::new_allocator<_Tp>::size_type __gnu_cxx::new_allocator<_Tp>::max_size() const [with _Tp = std::tuple<int, int, int, int>; __gnu_cxx::new_allocator<_Tp>::size_type = unsigned int]':
/usr/include/c++/4.8/ext/new_allocator.h:101:10:   required from '_Tp* __gnu_cxx::new_allocator<_Tp>::allocate(__gnu_cxx::new_allocator<_Tp>::size_type, const void*) [with _Tp = std::tuple<int, int, int, int>; __gnu_cxx::new_allocator<_Tp>::pointer = std::tuple<int, int, int, int>*; __gnu_cxx::new_allocator<_Tp>::size_type = unsigned int]'
/usr/include/c++/4.8/bits/stl_vector.h:168:25:   required from 'std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::_Vector_base<_Tp, _Alloc>::pointer = std::tuple<int, int, int, int>*; std::size_t = unsigned int]'
/usr/include/c++/4.8/bits/stl_vector.h:181:25:   required from 'void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::size_t = unsigned int]'
/usr/include/c++/4.8/bits/stl_vector.h:136:30:   required from 'std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::size_t = unsigned int; std::_Vector_base<_Tp, _Alloc>::allocator_type = std::allocator<std::tuple<int, int, int, int> >]'
/usr/include/c++/4.8/bits/stl_vector.h:270:23:   required from 'std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const allocator_type&) [with _Tp = std::tuple<int, int, int, int>; _Alloc = std::allocator<std::tuple<int, int, int, int> >; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::tuple<int, int, int, int> >]'
escapelight.cpp:42:50:   required from here
/usr/include/c++/4.8/ext/new_allocator.h:114:35: error: invalid application of 'sizeof' to incomplete type 'std::tuple<int, int, int, int>'
       { return size_t(-1) / sizeof(_Tp); }
                                   ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema EscapeLight face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.

Du-te sus!