Informatică, întrebare adresată de Razzvy, 9 ani în urmă

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.

CERINTA:
Dându-se dimensiunile fermei și pentru fiecare celulă culoarea corespunzătoare culturii semănate, determinați: Suprafața maximă a unei parcele în planul inițial.


DATE DE INTRARE: m, n si matricea mxn

DATE DE IESIRE:
Fișierul de ieșire ferma.out va conține pe prima linie numărul natural s, reprezentând suprafața maximă a unei parcele.


RESTRICTII SI PRECIZARI:
2 ≤ m ≤ 400
2 ≤ n ≤ 400
Numărul de culturi distincte este cel puţin 2 şi cel mult 26.

EXEMPLU:
ferma.in:
7 8
rmmgggaa
mvvgggaa
mvvgvvvv
vvvrvvvv
vvrrrgga
vvrrrggg
aaaaaaag

ferma.out:
11

Nu doresc neaparat rezolvarea completa, doar niste idei, daca se poate.


blindseeker90: "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. " nu inteleg de ce da aceasta informatie pare inutila
Razzvy: problema avea doua variante,
Razzvy: Trebuia sa mai afli ceva
blindseeker90: Deci pe tine te intereseaza strict sa afli suprafata de arie cea mai mare acum
Razzvy: da
Razzvy: Poti sa citesti direct de pe site, daca iti e mai usor:http://www.pbinfo.ro/?pagina=probleme&id=1028
blindseeker90: tu ai auzit vreodata de backtracking? In ce clasa esti? Ma tot gandesc la problema asta si nu gasesc o metoda simpla de a o rezolva.
Razzvy: Trec a 10-a, dar da, am auzit de bactracking.

Răspunsuri la întrebare

Răspuns de ionutg38
5
Ai atasata solutia problemei.
Anexe:

Razzvy: Multumesc foarte mult pentru soultie! Am inteles V1, dar n-am apucat sa ma uit si peste V2.
Alte întrebări interesante