#732
O echipă de cercetători a construit un robot pentru realizarea de operaţiuni industriale în medii greu accesibile. Robotul este acţionat de un motor electric alimentat de un acumulator cu proprietatea de a se autoîncărca folosind energia mediului ambiant.
Pentru testele preliminare s-a construit o suprafaţă de testare de formă pătrată, compusă din N*N pătrate de dimensiune unitate, pentru fiecare pătrat cunoscându-se cantitatea de energie, posibil egală cu zero, pe care o poate acumula robotul dacă ajunge în poziţia respectivă. Robotul se va deplasa conform unui şir de comenzi codificat prin caracterele N, E, S, V (N-deplasare cu o poziţie către nord, E-deplasare cu o poziţie către est, S-deplasare cu o poziţie către sud, V-deplasare cu o poziţie către vest). Şirul de comenzi este corect, adică robotul nu va trece de mai multe ori prin aceeaşi poziţie şi nu va depăşi marginile suprafeţei de testare.
Iniţial, acumulatorul robotului este descărcat complet, dar acesta se găseşte cu siguranţă într-o poziţie de unde poate acumula energie. Deplasarea robotului dintr-o poziţie în alta consumă o unitate de energie. Cantitatea de energie ce poate fi stocată în acumulator este nelimitată.
Robotul se opreşte când a efectuat toate comenzile din şirul dat sau când ajungând într-o poziţie energia acumulatorului devine zero, iar în respectiva poziţie nu poate acumula energie.
Cunoscând dimensiunea suprafeţei de testare, cantitatea de energie din fiecare poziţie, poziţia iniţială şi succesiunea de comenzi determinaţi poziţia unde se opreşte robotul.
Lot Juniori, Arad, 2011
| Problema | Robot1 | Operații I/O |
robot1.in/robot1.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 2 MB
/
Stivă 2 MB
|
| Id soluție | #64416315 | Utilizator | |
| Fișier | robot1.cpp | Dimensiune | 1.90 KB |
| Data încărcării | 05 Mai 2026, 21:29 | Scor/rezultat | Eroare de compilare |
robot1.cpp:5:13: error: variable ‘std::ifstream cin’ has initializer but incomplete type 5 | ifstream cin("robot1.in"); | ^ robot1.cpp:6:14: error: variable ‘std::ofstream cout’ has initializer but incomplete type 6 | ofstream cout("robot1.out"); | ^ robot1.cpp: In function ‘int main()’: robot1.cpp:11:5: error: reference to ‘cin’ is ambiguous 11 | cin >> n >> m >> x >> y; | ^~~ In file included from robot1.cpp:1: /usr/include/c++/13/iostream:62:18: note: candidates are: ‘std::istream std::cin’ 62 | extern istream cin; ///< Linked to standard input | ^~~ robot1.cpp:5:10: note: ‘<typeprefixerror>cin’ 5 | ifstream cin("robot1.in"); | ^~~ robot1.cpp:12:5: error: reference to ‘cin’ is ambiguous 12 | cin.get(); | ^~~ /usr/include/c++/13/iostream:62:18: note: candidates are: ‘std::istream std::cin’ 62 | extern istream cin; ///< Linked to standard input | ^~~ robot1.cpp:5:10: note: ‘<typeprefixerror>cin’ 5 | ifstream cin("robot1.in"); | ^~~ robot1.cpp:21:5: error: reference to ‘cin’ is ambiguous 21 | cin.getline(s,10005); | ^~~ /usr/include/c++/13/iostream:62:18: note: candidates are: ‘std::istream std::cin’ 62 | extern istream cin; ///< Linked to standard input | ^~~ robot1.cpp:5:10: note: ‘<typeprefixerror>cin’ 5 | ifstream cin("robot1.in"); | ^~~ robot1.cpp:55:68: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 55 | if(XSorted[i] > XSorted[j] || XSorted[i] == XSorted[j] && YSorted[i] > YSorted[j]) { | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ robot1.cpp:65:13: error: reference to ‘cin’ is ambiguous 65 | cin >> v; | ^~~ /usr/include/c++/13/iostream:62:18: note: candidates are: ‘std::istream std::cin’ 62 | extern istream cin; ///< Linked to standard input | ^~~ robot1.cpp:5:10: note: ‘<typeprefixerror>cin’ 5 | ifstream cin("robot1.in"); | ^~~ robot1.cpp:83:20: error: reference to ‘cout’ is ambiguous 83 | if(i == c + 1) cout << X[c] << " "<<Y[c]; | ^~~~ /usr/include/c++/13/iostream:63:18: note: candidates are: ‘std::ostream std::cout’ 63 | extern ostream cout; ///< Linked to standard output | ^~~~ robot1.cpp:6:10: note: ‘<typeprefixerror>cout’ 6 | ofstream cout("robot1.out"); | ^~~~ robot1.cpp:84:10: error: reference to ‘cout’ is ambiguous 84 | else cout << X[i] <<" "<<Y[i]; | ^~~~ /usr/include/c++/13/iostream:63:18: note: candidates are: ‘std::ostream std::cout’ 63 | extern ostream cout; ///< Linked to standard output | ^~~~ robot1.cpp:6:10: note: ‘<typeprefixerror>cout’ 6 | ofstream cout("robot1.out"); | ^~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Robot1 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ă.