#2867
Norela
Adrian al III-lea este un prinț vrăjitor. De 4 noiembrie, ziua vrăjitoriei, acesta a vrut să o impresioneze pe Norela, fata visurilor lui. El are n
cărți de joc, care inițial se află înșirate pe o masă cu fața în jos. Adrian are la dispoziție m
magii, o magie fiind de forma: q a
1
a
2
…, a
q
. În timpul unei magii, se vor întoarce pe rând şi în ordine cărțile cu indicii a
1
a
2
…, a
q
. (numerele sunt distincte două câte două). Cartea va fi întoarsă indiferent dacă aceasta se află cu fața în sus sau cu fața în jos (dacă este cu fața în sus, se va întoarce cu fața în jos, iar dacă este cu fața în jos se va întoarce cu fața în sus), iar fiecare magie poate fi utilizată maxim o dată. Ajutați-l pe Adrian să o impresioneze pe Norela înaintea dușmanului său, Manea cel Sprâncenat! Aflați numărul minim de magii ce trebuie folosite, astfel încât la final toate cărțile să fie cu fața în sus. De asemenea, spuneți și care magii au fost folosite. În cazul în care există mai multe soluții, se va afișa cea minim lexicografică.
infO(1) cup 2018
Problema | Norela | Operații I/O |
norela.in /norela.out
|
---|---|---|---|
Limita timp | 0.6 secunde | Limita memorie |
Total: 256 MB
/
Stivă 16 MB
|
Id soluție | #53960780 | Utilizator | |
Fișier | norela.cpp | Dimensiune | 2.10 KB |
Data încărcării | 15 Noiembrie 2024, 23:36 | Scor / rezultat | Eroare de compilare |
norela.cpp:8:30: warning: left shift count >= width of type [enabled by default] const int MAX_STATES = (1 << MAX_N); // Numărul maxim de stări (2^n) ^ norela.cpp: In function 'void solve()': norela.cpp:49:17: error: reference to 'prev' is ambiguous prev[new_state] = state; ^ norela.cpp:14:13: note: candidates are: std::vector<int> prev vector<int> prev(MAX_STATES, -1); // Reconstituire stări anterioare ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/istream:38, from /usr/include/c++/4.8/sstream:38, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from norela.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:193:5: note: template<class _BidirectionalIterator> _BidirectionalIterator std::prev(_BidirectionalIterator, typename std::iterator_traits<_Iter>::difference_type) prev(_BidirectionalIterator __x, typename ^ norela.cpp:63:25: error: reference to 'prev' is ambiguous current_state = prev[current_state]; ^ norela.cpp:14:13: note: candidates are: std::vector<int> prev vector<int> prev(MAX_STATES, -1); // Reconstituire stări anterioare ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/istream:38, from /usr/include/c++/4.8/sstream:38, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from norela.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:193:5: note: template<class _BidirectionalIterator> _BidirectionalIterator std::prev(_BidirectionalIterator, typename std::iterator_traits<_Iter>::difference_type) prev(_BidirectionalIterator __x, typename ^ norela.cpp:70:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < result.size(); i++) { ^ norela.cpp:71:52: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] fout << result[i] << (i + 1 == result.size() ? "\n" : " "); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Norela 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ă.