#2227
Într-un oraş se află o grădină de formă dreptunghiulară, formată din n x m pătrăţele, aranjate sub forma unei matrice cu n linii şi m coloane. Într-un pătrăţel poate fi cultivată o singură plantă, de o anumită specie. Speciile sunt identificate prin numere distincte cuprinse între 1 şi s. Datorită fenomenelor meteorologice, în unele pătrăţele nu mai există flori.
Solul fiecărui pătrăţel are un anumit coeficient de umiditate. Pentru cultivare, fiecare specie de flori are nevoie de o valoare minimă a umidităţii solului. Mai exact, dacă umiditatea solului dintr-un pătrăţel este mai mică decât umiditatea specifică plantei, aceasta nu poate fi cultivată în pătrăţelul respectiv. Proprietarul grădinii doreşte să o reamenajeze, prin păstrarea plantelor deja existente, dar şi prin cultivarea de noi plante în pătrăţelele din care florile au dispărut, astfel încât să se obţină o zonă de arie cât mai mare acoperită cu plante din aceeaşi specie.
Se numeşte zonă un grup de pătrăţele, astfel încât oricare două pătrăţele din zonă fie sunt învecinate (adică au o latură comună), fie se poate ajunge de la unul la celălalt, deplasându-ne numai de la un pătrăţel la unul învecinat cu el. Aria unei zone este egală cu numărul de pătrăţele din care este formată zona.
Determinaţi valoarea ariei pentru zona de arie maximă cultivată cu plante din aceeaşi specie, obţinută în urma reamenajării grădinii.
Olimpiada Municipala de Informatica, Iasi, 2007
| Problema | gradina1 | Operații I/O |
gradina1.in/gradina1.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64231118 | Utilizator | |
| Fișier | gradina1.cpp | Dimensiune | 3.29 KB |
| Data încărcării | 24 Aprilie 2026, 09:58 | Scor/rezultat | Eroare de compilare |
gradina1.cpp:10:36: error: stray ‘#’ in program 10 | int a[51][51], b[51][51], f[51][51]#include <bits/stdc++.h> | ^ gradina1.cpp:10:37: error: expected initializer before ‘include’ 10 | int a[51][51], b[51][51], f[51][51]#include <bits/stdc++.h> | ^~~~~~~ gradina1.cpp:16:10: error: redefinition of ‘std::ifstream fin’ 16 | ifstream fin("gradina1.in"); | ^~~ gradina1.cpp:7:10: note: ‘std::ifstream fin’ previously declared here 7 | ifstream fin("gradina1.in"); | ^~~ gradina1.cpp:17:10: error: redefinition of ‘std::ofstream fout’ 17 | ofstream fout("gradina1.out"); | ^~~~ gradina1.cpp:8:10: note: ‘std::ofstream fout’ previously declared here 8 | ofstream fout("gradina1.out"); | ^~~~ gradina1.cpp:19:5: error: redefinition of ‘int a [51][51]’ 19 | int a[51][51], b[51][51], f[51][51]; | ^ gradina1.cpp:10:5: note: ‘int a [51][51]’ previously declared here 10 | int a[51][51], b[51][51], f[51][51]#include <bits/stdc++.h> | ^ gradina1.cpp:19:16: error: redefinition of ‘int b [51][51]’ 19 | int a[51][51], b[51][51], f[51][51]; | ^ gradina1.cpp:10:16: note: ‘int b [51][51]’ previously declared here 10 | int a[51][51], b[51][51], f[51][51]#include <bits/stdc++.h> | ^ gradina1.cpp:98:5: error: redefinition of ‘int n’ 98 | int n, m, s, i, j; | ^ gradina1.cpp:20:5: note: ‘int n’ previously declared here 20 | int n, m, s, i, j; | ^ gradina1.cpp:98:8: error: redefinition of ‘int m’ 98 | int n, m, s, i, j; | ^ gradina1.cpp:20:8: note: ‘int m’ previously declared here 20 | int n, m, s, i, j; | ^ gradina1.cpp:98:11: error: redefinition of ‘int s’ 98 | int n, m, s, i, j; | ^ gradina1.cpp:20:11: note: ‘int s’ previously declared here 20 | int n, m, s, i, j; | ^ gradina1.cpp:98:14: error: redefinition of ‘int i’ 98 | int n, m, s, i, j; | ^ gradina1.cpp:20:14: note: ‘int i’ previously declared here 20 | int n, m, s, i, j; | ^ gradina1.cpp:98:17: error: redefinition of ‘int j’ 98 | int n, m, s, i, j; | ^ gradina1.cpp:20:17: note: ‘int j’ previously declared here 20 | int n, m, s, i, j; | ^ gradina1.cpp:99:5: error: redefinition of ‘int dx []’ 99 | int dx[] = {0, 1, 0, -1}, dy[] = {1, 0, -1, 0}; | ^~ gradina1.cpp:21:5: note: ‘int dx [4]’ previously defined here 21 | int dx[] = {0, 1, 0, -1}, dy[] = {1, 0, -1, 0}; | ^~ gradina1.cpp:99:27: error: redefinition of ‘int dy []’ 99 | int dx[] = {0, 1, 0, -1}, dy[] = {1, 0, -1, 0}; | ^~ gradina1.cpp:21:27: note: ‘int dy [4]’ previously defined here 21 | int dx[] = {0, 1, 0, -1}, dy[] = {1, 0, -1, 0}; | ^~ gradina1.cpp:100:5: error: redefinition of ‘int mini’ 100 | int mini = 99999, floare; | ^~~~ gradina1.cpp:22:5: note: ‘int mini’ previously defined here 22 | int mini = 99999, floare; | ^~~~ gradina1.cpp:100:19: error: redefinition of ‘int floare’ 100 | int mini = 99999, floare; | ^~~~~~ gradina1.cpp:22:19: note: ‘int floare’ previously declared here 22 | int mini = 99999, floare; | ^~~~~~ gradina1.cpp:102:6: error: redefinition of ‘int bordare(int, int)’ 102 | int bordare(int i, int j){ | ^~~~~~~ gradina1.cpp:24:6: note: ‘int bordare(int, int)’ previously defined here 24 | int bordare(int i, int j){ | ^~~~~~~ gradina1.cpp:108:5: error: redefinition of ‘int fil(int, int)’ 108 | int fil(int i, int j){ | ^~~ gradina1.cpp:30:5: note: ‘int fil(int, int)’ previously defined here 30 | int fil(int i, int j){ | ^~~ gradina1.cpp:131:5: error: redefinition of ‘int main()’ 131 | int main() | ^~~~ gradina1.cpp:53:5: note: ‘int main()’ previously defined here 53 | int main() | ^~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema gradina1 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ă.