#1939
Bare
Pe o tablă de joc cu N
linii și M
coloane se află un roboțel pe poziția 1,1
. El știe să meargă doar pe conturul tablei (prima și ultima linie, respectiv prima și ultima coloană). Robotul dorește să ajungă pe poziția N, M
dar nu este așa simplu. Pe tabla de joc se află Q
bare de lungimi infinite. Barele sunt fixate în colțul din dreapta jos a unor căsuțe. La început, o bară se poate afla fie în poziție verticală, fie în poziție orizontală. Robotul poate schimba orientarea acestor bare din poziție verticală în poziție orizontală și invers. El nu poate trece printr-o bară.
De exemplu, dacă avem N=4
, M=4
, Q=1
și bara se află la coordonatele 3,3
în poziție verticală, robotul nu poate ajunge la căsuțele de pe coloana 4
. Dar dacă el învârte bara poate merge pe coloana 4
, apoi pentru a merge pe linia 4
poate să învârtă bara din nou.
Această soluție nu este optimă deoarece robotul putea ajunge în poziția 4,4
învârtind o singură dată bara. Mai întâi se poziționează pe linia 4
, apoi învârte bara și se duce pe coloana 4
.
Să se afle numărul minim de rotiri ale barelor pentru ca robotul să ajungă din poziția 1,1
în poziția N,M
, mergând numai în dreapta și în jos.
Problema | Bare | Operații I/O |
bare.in /bare.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #47622705 | Utilizator | |
Fișier | bare.cpp | Dimensiune | 491 B |
Data încărcării | 19 Decembrie 2023, 14:29 | Scor / rezultat | Eroare de compilare |
bare.cpp: In function 'int main()': bare.cpp:8:5: error: reference to 'cin' is ambiguous cin >> n >> m >> q; ^ bare.cpp:3:10: note: candidates are: std::ifstream cin ifstream cin("bare.in"); ^ In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:74:0, from bare.cpp:1: /usr/include/c++/4.8/iostream:60:18: note: std::istream std::cin extern istream cin; /// Linked to standard input ^ bare.cpp:14:9: error: reference to 'cin' is ambiguous cin >> x >> y >> ch; ^ bare.cpp:3:10: note: candidates are: std::ifstream cin ifstream cin("bare.in"); ^ In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:74:0, from bare.cpp:1: /usr/include/c++/4.8/iostream:60:18: note: std::istream std::cin extern istream cin; /// Linked to standard input ^ bare.cpp:21:9: error: reference to 'cout' is ambiguous cout << 2*cntv + cnto; ^ bare.cpp:4:10: note: candidates are: std::ofstream cout ofstream cout("bare.out"); ^ In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:74:0, from bare.cpp:1: /usr/include/c++/4.8/iostream:61:18: note: std::ostream std::cout extern ostream cout; /// Linked to standard output ^ bare.cpp:23:9: error: reference to 'cout' is ambiguous cout << 2*cnto + cntv; ^ bare.cpp:4:10: note: candidates are: std::ofstream cout ofstream cout("bare.out"); ^ In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:74:0, from bare.cpp:1: /usr/include/c++/4.8/iostream:61:18: note: std::ostream std::cout extern ostream cout; /// Linked to standard output ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Bare 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ă.