#1028
Un fermier deține o fermă de formă dreptunghiulară cu lungimea m metri și lățimea n metri. Respectând principiul rotației culturilor, fermierul și a realizat un plan pentru semănarea culturilor în noul an. Astfel ,el a desenat un dreptunghi pe care l-a împărțit în m * n celule, fiecare corespunzând unui metru pătrat, și a colorat în culori diferite zonele care corespund unor culturi diferite. O cultură poate fi semănată pe mai multe parcele. Două celule care au o latură comună aparțin aceleiași parcele dacă au aceeași culoare (sunt însămânțate cu aceeași cultură). Fermierul are posibilitatea să irige o sigură parcelă și dorește să aleagă parcela cu cea mai mare suprafață. Nefiind mulțumit de suprafața rezultată, s-a întrebat dacă ar putea schimba cultura de pe o singură celulă, astfel încât să obțină o parcelă de suprafață mai mare.

Dându-se dimensiunile fermei și pentru fiecare celulă culoarea corespunzătoare culturii semănate, determinați:
OJI 2014, Clasa a X-a
| Problema | Ferma | Operații I/O |
ferma.in/ferma.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 32 MB
/
Stivă 10 MB
|
| Id soluție | #64482044 | Utilizator | |
| Fișier | ferma.cpp | Dimensiune | 856 B |
| Data încărcării | 10 Mai 2026, 11:00 | Scor/rezultat | Eroare de compilare |
ferma.cpp: In function ‘bool inside(int, int)’: ferma.cpp:9:21: error: ‘m’ was not declared in this scope 9 | return(x<1 || x>m || y<1 || y>n) | ^ ferma.cpp:9:35: error: ‘n’ was not declared in this scope 9 | return(x<1 || x>m || y<1 || y>n) | ^ ferma.cpp:9:37: error: expected ‘;’ before ‘}’ token 9 | return(x<1 || x>m || y<1 || y>n) | ^ | ; 10 | } | ~ ferma.cpp: In function ‘void algfill(int, int)’: ferma.cpp:14:11: error: lvalue required as increment operand 14 | af[nrz]++; | ~~~~~~^ ferma.cpp:17:20: error: ‘dx’ was not declared in this scope; did you mean ‘x’? 17 | int inou=x+dx[k]; | ^~ | x ferma.cpp:18:20: error: ‘dy’ was not declared in this scope; did you mean ‘y’? 18 | int jnou=y+dy[k]; | ^~ | y ferma.cpp: In function ‘int main()’: ferma.cpp:27:5: error: ‘cin’ was not declared in this scope 27 | cin>>v; | ^~~ ferma.cpp:2:1: note: ‘std::cin’ is defined in header ‘<iostream>’; did you forget to ‘#include <iostream>’? 1 | #include <fstream> +++ |+#include <iostream> 2 | using namespace std; ferma.cpp:27:10: error: ‘v’ was not declared in this scope 27 | cin>>v; | ^ ferma.cpp:28:10: error: ‘m’ was not declared in this scope 28 | cin>>m>>n; | ^ ferma.cpp:28:13: error: ‘n’ was not declared in this scope 28 | cin>>m>>n; | ^ ferma.cpp:31:18: error: ‘s’ was not declared in this scope 31 | cin>>s[i][j]; | ^ ferma.cpp:30:10: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] 30 | {for(j=1; j<=n; j++) | ^~~ ferma.cpp:32:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’ 32 | fin.get();} | ^~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Ferma 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ă.