Detalii evaluare #57925499

Rezumat problemă

#3035 lumini

Privită din spațiu, harta insulei din povestea noastră are forma unui caroiaj pătratic cu L linii și L coloane. Liniile și coloanele sunt numerotate de la 1 la L. În fiecare dintre cele L*L celule se află câte un far. Inițial cel de la poziția 1,1 este aprins și toate respectă regula: orice far are farurile vecine (pe linie și coloană, deci maximum 4) în starea opusă față de starea sa. În urma unei furtuni, s-au întâmplat lucruri ciudate: fulgerele au lovit unul după altul și au afectat starea unor faruri. Sunt trei tipuri de fulgere. Prin schimbarea stării unui far înțelegem că acesta se aprinde dacă este stins și se stinge dacă este aprins.
Se dau date despre fulgere, în ordinea în care acestea acționează. Se cere ca la finalul furtunii să se indice care este starea anumitor faruri, aflate la coordonate precizate de pe insulă.

Detalii

Problema lumini Operații I/O lumini.in/lumini.out
Limita timp 0.3 secunde Limita memorie Total: 20 MB / Stivă 8 MB
Id soluție #57925499 Utilizator 6B Dumitrache Nicolae (Nicky_Dumitrache)
Fișier lumini.cpp Dimensiune 1.20 KB
Data încărcării 02 Mai 2025, 08:36 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

lumini.cpp: In function 'int main()':
lumini.cpp:24:10: warning: unused variable 'ab' [-Wunused-variable]
     char ab[100];

          ^
In file included from /usr/include/c++/4.8/bits/stl_map.h:63:0,
                 from /usr/include/c++/4.8/map:61,
                 from lumini.cpp:2:
/usr/include/c++/4.8/tuple: In instantiation of 'std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, std::_Index_tuple<_Indexes1 ...>, std::_Index_tuple<_Indexes2 ...>) [with _Args1 = {const char (&)[100]}; unsigned int ..._Indexes1 = {0u}; _Args2 = {}; unsigned int ..._Indexes2 = {}; _T1 = const char [100]; _T2 = bool]':
/usr/include/c++/4.8/tuple:1079:63:   required from 'std::pair<_T1, _T2>::pair(std::piecewise_construct_t, std::tuple<_Args1 ...>, std::tuple<_Args2 ...>) [with _Args1 = {const char (&)[100]}; _Args2 = {}; _T1 = const char [100]; _T2 = bool]'
/usr/include/c++/4.8/bits/stl_tree.h:140:49:   required from 'std::_Rb_tree_node<_Val>::_Rb_tree_node(_Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<const char (&)[100]>, std::tuple<>}; _Val = std::pair<const char [100], bool>]'
/usr/include/c++/4.8/ext/new_allocator.h:120:4:   required from 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = std::_Rb_tree_node<std::pair<const char [100], bool> >; _Args = {const std::piecewise_construct_t&, std::tuple<const char (&)[100]>, std::tuple<>}; _Tp = std::_Rb_tree_node<std::pair<const char [100], bool> >]'
/usr/include/c++/4.8/bits/alloc_traits.h:254:4:   required from 'static typename std::enable_if<std::allocator_traits<_Alloc>::__construct_helper<_Tp, _Args>::value, void>::type std::allocator_traits<_Alloc>::_S_construct(_Alloc&, _Tp*, _Args&& ...) [with _Tp = std::_Rb_tree_node<std::pair<const char [100], bool> >; _Args = {const std::piecewise_construct_t&, std::tuple<const char (&)[100]>, std::tuple<>}; _Alloc = std::allocator<std::_Rb_tree_node<std::pair<const char [100], bool> > >; typename std::enable_if<std::allocator_traits<_Alloc>::__construct_helper<_Tp, _Args>::value, void>::type = void]'
/usr/include/c++/4.8/bits/alloc_traits.h:393:57:   required from 'static decltype (_S_construct(__a, __p, (forward<_Args>)(std::allocator_traits::construct::__args)...)) std::allocator_traits<_Alloc>::construct(_Alloc&, _Tp*, _Args&& ...) [with _Tp = std::_Rb_tree_node<std::pair<const char [100], bool> >; _Args = {const std::piecewise_construct_t&, std::tuple<const char (&)[100]>, std::tuple<>}; _Alloc = std::allocator<std::_Rb_tree_node<std::pair<const char [100], bool> > >; decltype (_S_construct(__a, __p, (forward<_Args>)(std::allocator_traits::construct::__args)...)) = <type error>]'
/usr/include/c++/4.8/bits/stl_tree.h:408:36:   required from 'std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_create_node(_Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<const char (&)[100]>, std::tuple<>}; _Key = char [100]; _Val = std::pair<const char [100], bool>; _KeyOfValue = std::_Select1st<std::pair<const char [100], bool> >; _Compare = std::less<char [100]>; _Alloc = std::allocator<std::pair<const char [100], bool> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const char [100], bool> >*]'
/usr/include/c++/4.8/bits/stl_tree.h:1669:64:   required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<const char (&)[100]>, std::tuple<>}; _Key = char [100]; _Val = std::pair<const char [100], bool>; _KeyOfValue = std::_Select1st<std::pair<const char [100], bool> >; _Compare = std::less<char [100]>; _Alloc = std::allocator<std::pair<const char [100], bool> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const char [100], bool> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const char [100], bool> >]'
/usr/include/c++/4.8/bits/stl_map.h:465:8:   required from 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = char [100]; _Tp = bool; _Compare = std::less<char [100]>; _Alloc = std::allocator<std::pair<const char [100], bool> >; std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type = bool; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = char [100]]'
lumini.cpp:40:18:   required from here
/usr/include/c++/4.8/tuple:1090:70: error: array used as initializer
         second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
                                                                      ^

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