#3446
Ateleport
Marian se află în galaxia OJI-2020 și este anul 11235. În această galaxie există N
planete diferite și M
canale bidirecţionale de transport de tipul (x, y, t)
care îţi permit să te deplasezi de pe planeta x
pe planeta y
(sau invers) în t
secunde.
Dar Marian este un adevărat inginer și, pentru că i se pare foarte ineficientă această metodă de transport, a dezvoltat un dispozitiv care îți permite teleportarea de pe o planetă x
pe orice altă planetă y
în P
secunde cu condiţia că ai putea ajunge pornind de pe planeta x
pe planeta y
folosind maxim L
canale de transport.
Acest dispozitiv este momentan doar un prototip, așa că nu îl poate folosi mai mult de K
ori. Marian se află pe planeta 1
și te roagă să îi spui care e timpul minim necesar pentru a ajunge pe planeta N
.
Să se scrie un program care calculează timpul minim necesar pentru a ajunge pe planeta N
pornind de pe planeta 1
.
OJI 2020, clasele XI-XII
Problema | Ateleport | Operații I/O |
ateleport.in /ateleport.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 32 MB
/
Stivă 32 MB
|
Id soluție | #37228960 | Utilizator | |
Fișier | ateleport.cpp | Dimensiune | 1.25 KB |
Data încărcării | 23 Iulie 2022, 15:34 | Scor / rezultat | Eroare de compilare |
ateleport.cpp:5:18: error: expected ';' before ',' token using std::vector, std::pair; ^ ateleport.cpp:5:18: error: expected unqualified-id before ',' token ateleport.cpp:5:29: error: expected constructor, destructor, or type conversion before ';' token using std::vector, std::pair; ^ ateleport.cpp:10:8: error: 'pair' was not declared in this scope vector<pair<int, int>> cai[10001]; ^ ateleport.cpp:10:8: note: suggested alternative: 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/istream:38, from /usr/include/c++/4.8/fstream:38, from ateleport.cpp:1: /usr/include/c++/4.8/bits/stl_pair.h:96:12: note: 'std::pair' struct pair ^ ateleport.cpp:10:21: error: template argument 1 is invalid vector<pair<int, int>> cai[10001]; ^ ateleport.cpp:10:21: error: template argument 2 is invalid ateleport.cpp:10:34: error: invalid type in declaration before ';' token vector<pair<int, int>> cai[10001]; ^ ateleport.cpp: In function 'int main()': ateleport.cpp:26:16: error: request for member 'push_back' in 'cai[x]', which is of non-class type 'int' cai[x].push_back({y, t}); ^ ateleport.cpp:27:16: error: request for member 'push_back' in 'cai[y]', which is of non-class type 'int' cai[y].push_back({x, t}); ^ ateleport.cpp:43:36: error: no matching function for call to 'begin(int&)' for (auto cale : cai[top.pl]) { ^ ateleport.cpp:43:36: note: candidates are: 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 ateleport.cpp:1: /usr/include/c++/4.8/initializer_list:89:5: note: template<class _Tp> constexpr const _Tp* std::begin(std::initializer_list<_Tp>) begin(initializer_list<_Tp> __ils) noexcept ^ /usr/include/c++/4.8/initializer_list:89:5: note: template argument deduction/substitution failed: ateleport.cpp:43:36: note: mismatched types 'std::initializer_list<_Tp>' and 'int' for (auto cale : cai[top.pl]) { ^ 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 ateleport.cpp:1: /usr/include/c++/4.8/bits/range_access.h:87:5: note: template<class _Tp, unsigned int _Nm> _Tp* std::begin(_Tp (&)[_Nm]) begin(_Tp (&__arr)[_Nm]) ^ /usr/include/c++/4.8/bits/range_access.h:87:5: note: template argument deduction/substitution failed: ateleport.cpp:43:36: note: mismatched types '_Tp [_Nm]' and 'int' for (auto cale : cai[top.pl]) { ^ 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 ateleport.cpp:1: /usr/include/c++/4.8/bits/range_access.h:58:5: note: template<class _Container> decltype (__cont.begin()) std::begin(const _Container&) begin(const _Container& __cont) -> decltype(__cont.begin()) ^ /usr/include/c++/4.8/bits/range_access.h:58:5: note: template argument deduction/substitution failed: /usr/include/c++/4.8/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.begin()) std::begin(const _Container&) [with _Container = int]': ateleport.cpp:43:36: required from here /usr/include/c++/4.8/bits/range_access.h:58:5: error: request for member 'begin' in '__cont', which is of non-class type 'const int' /usr/include/c++/4.8/bits/range_access.h:48:5: note: template<class _Container> decltype (__cont.begin()) std::begin(_Container&) begin(_Container& __cont) -> decltype(__cont.begin()) ^ /usr/include/c++/4.8/bits/range_access.h:48:5: note: template argument deduction/substitution failed: /usr/include/c++/4.8/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.begin()) std::begin(_Container&) [with _Container = int]': ateleport.cpp:43:36: required from here /usr/include/c++/4.8/bits/range_access.h:48:5: error: request for member 'begin' in '__cont', which is of non-class type 'int' ateleport.cpp:43:36: error: no matching function for call to 'end(int&)' for (auto cale : cai[top.pl]) { ^ ateleport.cpp:43:36: note: candidates are: 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 ateleport.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 ^ /usr/include/c++/4.8/initializer_list:99:5: note: template argument deduction/substitution failed: ateleport.cpp:43:36: note: mismatched types 'std::initializer_list<_Tp>' and 'int' for (auto cale : cai[top.pl]) { ^ 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 ateleport.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:97:5: note: template argument deduction/substitution failed: ateleport.cpp:43:36: note: mismatched types '_Tp [_Nm]' and 'int' for (auto cale : cai[top.pl]) { ^ 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 ateleport.cpp:1: /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:78:5: note: template argument deduction/substitution failed: /usr/include/c++/4.8/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.end()) std::end(const _Container&) [with _Container = int]': ateleport.cpp:43:36: required from here /usr/include/c++/4.8/bits/range_access.h:78:5: error: request for member 'end' in '__cont', which is of non-class type 'const int' /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()) ^ /usr/include/c++/4.8/bits/range_access.h:68:5: note: template argument deduction/substitution failed: /usr/include/c++/4.8/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.end()) std::end(_Container&) [with _Container = int]': ateleport.cpp:43:36: required from here /usr/include/c++/4.8/bits/range_access.h:68:5: error: request for member 'end' in '__cont', which is of non-class type 'int' ateleport.cpp:46:76: error: no matching function for call to 'std::priority_queue<element>::push(<brace-enclosed initializer list>)' q.push({top.cost + cale.second, cale.first, top.sar, top.k}); ^ ateleport.cpp:46:76: note: candidates are: In file included from /usr/include/c++/4.8/queue:64:0, from ateleport.cpp:2: /usr/include/c++/4.8/bits/stl_queue.h:496:7: note: void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = element; _Sequence = std::vector<element, std::allocator<element> >; _Compare = std::less<element>; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = element] push(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:496:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const element&}' /usr/include/c++/4.8/bits/stl_queue.h:504:7: note: void std::priority_queue<_Tp, _Sequence, _Compare>::push(std::priority_queue<_Tp, _Sequence, _Compare>::value_type&&) [with _Tp = element; _Sequence = std::vector<element, std::allocator<element> >; _Compare = std::less<element>; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = element] push(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:504:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::priority_queue<element>::value_type&& {aka element&&}' ateleport.cpp:47:79: error: no matching function for call to 'std::priority_queue<element>::push(<brace-enclosed initializer list>)' if (top.sar > 0) q.push({top.cost, cale.first, top.sar - 1, top.k}); ^ ateleport.cpp:47:79: note: candidates are: In file included from /usr/include/c++/4.8/queue:64:0, from ateleport.cpp:2: /usr/include/c++/4.8/bits/stl_queue.h:496:7: note: void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = element; _Sequence = std::vector<element, std::allocator<element> >; _Compare = std::less<element>; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = element] push(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:496:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const element&}' /usr/include/c++/4.8/bits/stl_queue.h:504:7: note: void std::priority_queue<_Tp, _Sequence, _Compare>::push(std::priority_queue<_Tp, _Sequence, _Compare>::value_type&&) [with _Tp = element; _Sequence = std::vector<element, std::allocator<element> >; _Compare = std::less<element>; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = element] push(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:504:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::priority_queue<element>::value_type&& {aka element&&}' ateleport.cpp:49:68: error: no matching function for call to 'std::priority_queue<element>::push(<brace-enclosed initializer list>)' q.push({top.cost + p, cale.first, l - 1, top.k - 1}); ^ ateleport.cpp:49:68: note: candidates are: In file included from /usr/include/c++/4.8/queue:64:0, from ateleport.cpp:2: /usr/include/c++/4.8/bits/stl_queue.h:496:7: note: void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = element; _Sequence = std::vector<element, std::allocator<element> >; _Compare = std::less<element>; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = element] push(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:496:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const element&}' /usr/include/c++/4.8/bits/stl_queue.h:504:7: note: void std::priority_queue<_Tp, _Sequence, _Compare>::push(std::priority_queue<_Tp, _Sequence, _Compare>::value_type&&) [with _Tp = element; _Sequence = std::vector<element, std::allocator<element> >; _Compare = std::less<element>; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = element] push(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:504:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::priority_queue<element>::value_type&& {aka element&&}'
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Ateleport 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ă.