#630
Mihai, fiind un mare pasionat al jocurilor în aer liber, a inventat un joc nou în speranța că își va convinge colegii să iasă afară să se joace. Jocul lui Mihai spune că se dau N pătrate ce se află la anumite nivele iar din fiecare pătrat se poate sări doar în anumite pătrate stabilite la începutul jocului. Dacă un jucător sare dintr-un pătrat aflat la nivelul X într-un pătrat aflat la un nivel mai mare Y, acesta folosește un efort egal cu [Y/X], iar dacă sare într-un pătrat aflat la un nivel mai mic sau egal Y, efortul folosit este [X/Y]. Jucătorul se află la început în pătratul de start S și scopul jocului este să ajungă în pătratul final F, depunând un efort minim.
Cunoscând numărul de pătrate N, pătratul de start S, pătratul final F și pentru fiecare pătrat, pătratele în care jucătorul poate sări, se cere:
a) Efortul minim necesar pentru a ajunge în pătratul final.
b) Pătratele pe care jucătorul le sare până ajunge la pătratul final.
Grigore Moisil, 2014
| Problema | Joc | Operații I/O |
joc.in/joc.out
|
|---|---|---|---|
| Limita timp | 1.5 secunde | Limita memorie |
Total: 16 MB
/
Stivă 8 MB
|
| Id soluție | #58862734 | Utilizator | |
| Fișier | joc.cpp | Dimensiune | 2.14 KB |
| Data încărcării | 24 August 2025, 01:04 | Scor/rezultat | Eroare de compilare |
joc.cpp: In function 'int main()': joc.cpp:38:93: error: wrong number of template arguments (0, should be 1) std::priority_queue<std::pair<int, int>, std::vector<std::pair<int, int>>, std::greater<> > costQueue; ^ In file included from /usr/include/c++/4.8/string:48: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 joc.cpp:1: /usr/include/c++/4.8/bits/stl_function.h:222:12: error: provided for 'template<class _Tp> struct std::greater' struct greater : public binary_function<_Tp, _Tp, bool> ^ joc.cpp:38:95: error: template argument 3 is invalid std::priority_queue<std::pair<int, int>, std::vector<std::pair<int, int>>, std::greater<> > costQueue; ^ joc.cpp:38:106: error: invalid type in declaration before ';' token std::priority_queue<std::pair<int, int>, std::vector<std::pair<int, int>>, std::greater<> > costQueue; ^ joc.cpp:39:15: error: request for member 'emplace' in 'costQueue', which is of non-class type 'int' costQueue.emplace(0, start); ^ joc.cpp:49:14: error: expected unqualified-id before '[' token auto [cost, vertex] = costQueue.top(); ^ joc.cpp:50:19: error: request for member 'pop' in 'costQueue', which is of non-class type 'int' costQueue.pop(); ^ joc.cpp:52:21: error: 'vertex' was not declared in this scope if (minCost[vertex] != cost) ^ joc.cpp:52:32: error: 'cost' was not declared in this scope if (minCost[vertex] != cost) ^ joc.cpp:55:45: error: 'vertex' was not declared in this scope for (const auto &neighbor: adjacent[vertex]) ^ joc.cpp:57:17: error: 'cost' was not declared in this scope if (cost + neighbor.second < minCost[neighbor.first]) ^ joc.cpp:59:27: error: request for member 'emplace' in 'costQueue', which is of non-class type 'int' costQueue.emplace(cost + neighbor.second, neighbor.first); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Joc 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ă.