#1695
Oglinda
Pentru un număr natural N
se consideră șirul a=(1,2,3...,N)
, deci a[i]=i
pentru orice i
, 1≤i≤N
.
Asupra acestui șir se pot aplica operații de două tipuri:
a) la operația de tipul 1 se specifică două valori i
și j
, cu 1≤i≤j≤N
. Efectul acestei operații asupra șirului este de oglindire a secvenței din șir care începe cu elementul de pe poziția i
și se termină cu cel de pe poziția j
. De exemplu, dacă în șirul a=(1,2,3,4,5,6,7)
se aplică operația 3 6
, atunci șirul devine a=(1,2,6,5,4,3,7)
. Iar în șirul a=(1,4,3,2,5,6,7)
, dacă se aplică operația 4 6
, atunci a=(1,4,3,6,5,2,7)
.
b) Operația de tipul 2 conține un indice i
, 1≤i≤N
, și cere să afișăm valoarea elementului care se află în acel moment pe poziția i
în șir.
Se consideră M
astfel de operații într-o ordine dată.
Scrieți un program care să determine și să afișeze rezultatul pentru fiecare operație de tipul 2.
ONI 2016, clasa a V-a
Problema | Oglinda | Operații I/O |
![]() oglinda.in /oglinda.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 16 MB
/
Stivă 8 MB
|
Id soluție | #50681550 | Utilizator | |
Fișier | oglinda.cpp | Dimensiune | 622 B |
Data încărcării | 20 Aprilie 2024, 14:00 | Scor / rezultat | Eroare de compilare |
oglinda.cpp: In function 'int main()': oglinda.cpp:27:13: error: reference to 'end' is ambiguous end[p]=b; ^ oglinda.cpp:9:5: note: candidates are: int end [2001] int end[2001]; ^ In file included from /usr/include/c++/4.8/bits/basic_string.h:42:0, from /usr/include/c++/4.8/string:52, 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 oglinda.cpp:1: /usr/include/c++/4.8/initializer_list:99:5: note: template<class _Tp> constexpr const _Tp* std::end(std::initializer_list<_Tp>) end(initializer_list<_Tp> __ils) noexcept ^ In file included from /usr/include/c++/4.8/string:51:0, 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 oglinda.cpp:1: /usr/include/c++/4.8/bits/range_access.h:97:5: note: template<class _Tp, unsigned int _Nm> _Tp* std::end(_Tp (&)[_Nm]) end(_Tp (&__arr)[_Nm]) ^ /usr/include/c++/4.8/bits/range_access.h:78:5: note: template<class _Container> decltype (__cont.end()) std::end(const _Container&) end(const _Container& __cont) -> decltype(__cont.end()) ^ /usr/include/c++/4.8/bits/range_access.h:68:5: note: template<class _Container> decltype (__cont.end()) std::end(_Container&) end(_Container& __cont) -> decltype(__cont.end()) ^ oglinda.cpp:35:13: error: expected primary-expression before '}' token } ^ oglinda.cpp:35:13: error: expected ']' before '}' token oglinda.cpp:35:13: error: expected ';' before '}' token
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Oglinda 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ă.