#1761
Renumitul nostru brutar a avut azi noapte un vis tare ciudat: acesta trăia într-un univers paralel în care nu omul îl mănâncă pe blat ci blatul îl mănâncă pe om… (eh, poate nu chiar atât de paralel). Astfel, brutarul nostru a fost atacat de blatul pe care tocmai îl pregătise (pentru prăjituri, evident) și a încercat să scape. Acesta a ieșit din brutărie și a ajuns în fața unui câmp de formă dreptunghiulară, cu dimensiunile cunoscute, ce poate fi împărțit în celule elementare cu latura de o unitate (exact ca o matrice!). Acesta poate intra pe câmp prin orice celulă a primei linii și trebuie să ajungă în orice celulă a ultimei linii (blatul se va întări până va ajunge acolo). Unele celule îi sunt inaccesibile din cauza diverselor obstacole (pietre, pomi, gropi,etc.)
Brutarul nostru se poate deplasa în 6 moduri:
Nord, Vest, Sud, Est )Mutările speciale vor fi citite din fișier și o mutare se va codifica astfel: xA yB, unde x și y sunt numere naturale nenule iar A și B sunt două caractere ce codifică direcția (A poate fi 'N' sau 'S' de la Nord respectiv Sud iar B poate fi ‘E’ sau ‘V’ de la Est respectiv Vest)
O mutare specială se poate face dacă celula destinație nu este ocupată de un obstacol și dacă nu implică ieșirea brutarului din matrice.
Brutarul vă roagă să îi specificați un traseu cu număr minim de celule parcurse, ce pornește de pe prima linie și se termină pe ultima linie, pentru a nu fi blătuit (mâncat de blat).
Concursul EMPOWERSOFT, 2016
| Problema | Brutar | Operații I/O |
brutar.in/brutar.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 16 MB
/
Stivă 4 MB
|
| Id soluție | #64689359 | Utilizator | |
| Fișier | brutar.cpp | Dimensiune | 1.87 KB |
| Data încărcării | 23 Mai 2026, 12:21 | Scor/rezultat | Eroare de compilare |
brutar.cpp:9:5: error: scalar object ‘dl’ requires one element in initializer 9 | int dl = {-1, 0, 1, 0, 0, 0}, dc = {0, -1, 0, 1, 0, 0}; | ^~ brutar.cpp:9:31: error: scalar object ‘dc’ requires one element in initializer 9 | int dl = {-1, 0, 1, 0, 0, 0}, dc = {0, -1, 0, 1, 0, 0}; | ^~ brutar.cpp: In function ‘int main()’: brutar.cpp:22:21: error: invalid types ‘char[int]’ for array subscript 22 | fin >> a[i][j]; | ^ brutar.cpp:33:14: error: invalid types ‘char[int]’ for array subscript 33 | if (a[j] == 'O') { | ^ brutar.cpp:35:15: error: invalid types ‘int[int]’ for array subscript 35 | qL[dr] = 1; qC[dr] = j; | ^ brutar.cpp:35:27: error: invalid types ‘int[int]’ for array subscript 35 | qL[dr] = 1; qC[dr] = j; | ^ brutar.cpp:36:14: error: invalid types ‘int[int]’ for array subscript 36 | p[j] = 1; | ^ brutar.cpp:41:19: error: invalid types ‘int[int]’ for array subscript 41 | int l = qL[st], c = qC[st]; | ^ brutar.cpp:46:39: error: ‘nC’ was not declared in this scope; did you mean ‘nL’? 46 | if (nL >= 1 && nL <= n && nC >= 1 && nC <= m) { | ^~ | nL brutar.cpp:47:22: error: invalid types ‘char[int]’ for array subscript 47 | if (a[nL][nC] == 'O' && p[nL][nC] == 0) { | ^ brutar.cpp:47:42: error: invalid types ‘int[int]’ for array subscript 47 | if (a[nL][nC] == 'O' && p[nL][nC] == 0) { | ^ brutar.cpp:48:22: error: invalid types ‘int[int]’ for array subscript 48 | p[nL][nC] = p[l][c] + 1; | ^ brutar.cpp:48:34: error: invalid types ‘int[int]’ for array subscript 48 | p[nL][nC] = p[l][c] + 1; | ^ brutar.cpp:48:38: error: ‘c’ was not declared in this scope 48 | p[nL][nC] = p[l][c] + 1; | ^ brutar.cpp:49:23: error: invalid types ‘int[int]’ for array subscript 49 | tL[nL][nC] = l; | ^ brutar.cpp:50:23: error: invalid types ‘int[int]’ for array subscript 50 | tC[nL][nC] = c; | ^ brutar.cpp:52:23: error: invalid types ‘int[int]’ for array subscript 52 | qL[dr] = nL; qC[dr] = nC; | ^ brutar.cpp:52:36: error: invalid types ‘int[int]’ for array subscript 52 | qL[dr] = nL; qC[dr] = nC; | ^ brutar.cpp:60:14: error: invalid types ‘int[int]’ for array subscript 60 | if (p[n][j] > 0 && p[n][j] < min_pasi) { | ^ brutar.cpp:60:29: error: invalid types ‘int[int]’ for array subscript 60 | if (p[n][j] > 0 && p[n][j] < min_pasi) { | ^ brutar.cpp:61:25: error: invalid types ‘int[int]’ for array subscript 61 | min_pasi = p[n][j]; | ^ brutar.cpp:70:14: error: invalid types ‘int[int]’ for array subscript 70 | drumL[i] = auxL; | ^ brutar.cpp:71:14: error: invalid types ‘int[int]’ for array subscript 71 | drumC[i] = auxC; | ^ brutar.cpp:72:27: error: invalid types ‘int[int]’ for array subscript 72 | int proaspatL = tL[auxL][auxC]; | ^ brutar.cpp:73:27: error: invalid types ‘int[int]’ for array subscript 73 | int proaspatC = tC[auxL][auxC]; | ^ brutar.cpp:78:22: error: invalid types ‘int[int]’ for array subscript 78 | fout << drumL[i] << " " << drumC[i] << "\n"; | ^ brutar.cpp:78:41: error: invalid types ‘int[int]’ for array subscript 78 | fout << drumL[i] << " " << drumC[i] << "\n"; | ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Brutar 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ă.