#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 | #64585390 | Utilizator | |
| Fișier | ferma.cpp | Dimensiune | 835 B |
| Data încărcării | 16 Mai 2026, 15:13 | Scor/rezultat | Eroare de compilare |
ferma.cpp:1:1: error: expected unqualified-id before ‘-’ token 1 | -/+6532include<fstream> | ^ ferma.cpp:3:1: error: ‘ifstream’ does not name a type 3 | ifstream fin("ferma.in"); | ^~~~~~~~ ferma.cpp:4:1: error: ‘ofstream’ does not name a type 4 | ofstream fout("ferma.out"); | ^~~~~~~~ ferma.cpp:5:38: error: expected initializer before ‘n’ 5 | int af[80001],nrz,inou,jnou,k,d[401]n,m; | ^ ferma.cpp: In function ‘bool inside(int, int)’: ferma.cpp:10:11: error: invalid types ‘int[int]’ for array subscript 10 | { if(af[x][y]!=0) return false; | ^ ferma.cpp:11:14: error: ‘n’ was not declared in this scope 11 | if(x<1 || x>n || y<1 || y>m) return false; | ^ ferma.cpp:11:28: error: ‘m’ was not declared in this scope 11 | if(x<1 || x>n || y<1 || y>m) return false; | ^ ferma.cpp: In function ‘void fill(int, int)’: ferma.cpp:16:3: error: ‘d’ was not declared in this scope 16 | { d[nrz]++; | ^ ferma.cpp:17:8: error: invalid types ‘int[int]’ for array subscript 17 | af[x][y]=nrz; | ^ ferma.cpp:20:9: error: ‘j’ was not declared in this scope 20 | jnou=j+dy[k]; | ^ ferma.cpp:21:35: error: invalid types ‘int[int]’ for array subscript 21 | if(inside(inou,jnou) && af[inou][jnou]==a[x][y]) | ^ ferma.cpp:21:43: error: ‘a’ was not declared in this scope 21 | if(inside(inou,jnou) && af[inou][jnou]==a[x][y]) | ^ ferma.cpp: In function ‘int main()’: ferma.cpp:27:2: error: ‘fin’ was not declared in this scope 27 | fin>>n>>m; | ^~~ ferma.cpp:27:7: error: ‘n’ was not declared in this scope 27 | fin>>n>>m; | ^ ferma.cpp:27:10: error: ‘m’ was not declared in this scope 27 | fin>>n>>m; | ^ ferma.cpp:30:16: error: invalid types ‘int[int]’ for array subscript 30 | fin>>af[i][j]; | ^ ferma.cpp:33:14: error: invalid types ‘int[int]’ for array subscript 33 | if(af[i][j]==0) | ^ ferma.cpp:36:13: error: ‘d’ was not declared in this scope 36 | if(d[nrz]>maxi) | ^ ferma.cpp:39:2: error: ‘fout’ was not declared in this scope 39 | fout<<maxi<<endl; | ^~~~ ferma.cpp:39:14: error: ‘endl’ was not declared in this scope 39 | fout<<maxi<<endl; | ^~~~
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ă.