Detalii evaluare #58588933

Rezumat problemă

#1028 Ferma

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:

  • Cerința 1: Suprafața maximă a unei parcele în planul inițial.
  • Cerința 2: Numărul liniei, respectiv al coloanei celulei pe care va semăna o altă cultură și culoarea corespunzătoare noii culturi în vederea obţinerii celei mai mari parcele posibile.

OJI 2014, Clasa a X-a

Detalii

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 #58588933 Utilizator Lăcătușu Alexandra (Lacatusu_Alexandra)
Fișier ferma.cpp Dimensiune 2.41 KB
Data încărcării 25 Iunie 2025, 17:05 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

ferma.cpp:4:23: error: no matching function for call to 'std::basic_istream<char>::basic_istream(const char [9])'
 istream fin("ferma.in");

                       ^
ferma.cpp:4:23: note: candidates are:
In file included from /usr/include/c++/4.8/fstream:38:0,
                 from ferma.cpp:1:
/usr/include/c++/4.8/istream:606:7: note: std::basic_istream<_CharT, _Traits>::basic_istream() [with _CharT = char; _Traits = std::char_traits<char>]
       basic_istream()
       ^
/usr/include/c++/4.8/istream:606:7: note:   candidate expects 0 arguments, 1 provided
/usr/include/c++/4.8/istream:93:7: note: std::basic_istream<_CharT, _Traits>::basic_istream(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]
       basic_istream(__streambuf_type* __sb)
       ^
/usr/include/c++/4.8/istream:93:7: note:   no known conversion for argument 1 from 'const char [9]' to 'std::basic_istream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}'
ferma.cpp: In function 'bool inside(int, int)':
ferma.cpp:12:15: error: 'n' was not declared in this scope
     if(x<1||x>n||y<1||y>m) return false;

               ^
ferma.cpp:12:25: error: 'm' was not declared in this scope
     if(x<1||x>n||y<1||y>m) return false;

                         ^
ferma.cpp:14:8: error: 'a' was not declared in this scope
     if(a[x][y]!=0) return false;

        ^
ferma.cpp: In function 'void alg_fill(int, int)':
ferma.cpp:22:5: error: 'd' was not declared in this scope
     d[nrz]++;

     ^
ferma.cpp:22:7: error: 'nrz' was not declared in this scope
     d[nrz]++;

       ^
ferma.cpp:23:5: error: 'af' was not declared in this scope
     af[x][y]=nrz;

     ^
ferma.cpp:28:12: error: 'a' was not declared in this scope
         if(a[inou][jnou] == a[x][y] && inside(inou, jnou)) alg_fill(inou, jnou);

            ^
ferma.cpp: In function 'int main()':
ferma.cpp:40:5: error: reference to 'max' is ambiguous
     max=-1; 

     ^
ferma.cpp:32:59: note: candidates are: int max
 int i, m, n, v, af[401][401], d[170000], viz[401], nrz=0, max, s=0, linie, coloana;

                                                           ^
In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/fstream:38,
                 from ferma.cpp:1:
/usr/include/c++/4.8/bits/stl_algobase.h:260:5: note:                 template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:216:5: note:                 template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&)
     max(const _Tp& __a, const _Tp& __b)
     ^
ferma.cpp:46:13: error: 'j' was not declared in this scope
         for(j = 1; j <= m; j++){

             ^
ferma.cpp:51:27: error: reference to 'max' is ambiguous
                 if(d[nrz]>max) max=d[nrz];

                           ^
ferma.cpp:32:59: note: candidates are: int max
 int i, m, n, v, af[401][401], d[170000], viz[401], nrz=0, max, s=0, linie, coloana;

                                                           ^
In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/fstream:38,
                 from ferma.cpp:1:
/usr/include/c++/4.8/bits/stl_algobase.h:260:5: note:                 template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:216:5: note:                 template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&)
     max(const _Tp& __a, const _Tp& __b)
     ^
ferma.cpp:51:32: error: reference to 'max' is ambiguous
                 if(d[nrz]>max) max=d[nrz];

                                ^
ferma.cpp:32:59: note: candidates are: int max
 int i, m, n, v, af[401][401], d[170000], viz[401], nrz=0, max, s=0, linie, coloana;

                                                           ^
In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/fstream:38,
                 from ferma.cpp:1:
/usr/include/c++/4.8/bits/stl_algobase.h:260:5: note:                 template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:216:5: note:                 template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&)
     max(const _Tp& __a, const _Tp& __b)
     ^
ferma.cpp:58:15: error: reference to 'max' is ambiguous
         fout<<max; 

               ^
ferma.cpp:32:59: note: candidates are: int max
 int i, m, n, v, af[401][401], d[170000], viz[401], nrz=0, max, s=0, linie, coloana;

                                                           ^
In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/fstream:38,
                 from ferma.cpp:1:
/usr/include/c++/4.8/bits/stl_algobase.h:260:5: note:                 template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:216:5: note:                 template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&)
     max(const _Tp& __a, const _Tp& __b)
     ^
ferma.cpp:66:16: error: 'j' was not declared in this scope
            for(j = 1; j <= m; j++){

                ^
ferma.cpp:82:57: error: 'cnou' was not declared in this scope
               if(inside(inou, jnou) && a[inou][jnou] == cnou && !viz[af[inou][jnou]]) {

                                                         ^
ferma.cpp:89:16: error: reference to 'max' is ambiguous
         if(s > max){

                ^
ferma.cpp:32:59: note: candidates are: int max
 int i, m, n, v, af[401][401], d[170000], viz[401], nrz=0, max, s=0, linie, coloana;

                                                           ^
In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/fstream:38,
                 from ferma.cpp:1:
/usr/include/c++/4.8/bits/stl_algobase.h:260:5: note:                 template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:216:5: note:                 template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&)
     max(const _Tp& __a, const _Tp& __b)
     ^
ferma.cpp:91:12: error: reference to 'max' is ambiguous
            max = s;

            ^
ferma.cpp:32:59: note: candidates are: int max
 int i, m, n, v, af[401][401], d[170000], viz[401], nrz=0, max, s=0, linie, coloana;

                                                           ^
In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/fstream:38,
                 from ferma.cpp:1:
/usr/include/c++/4.8/bits/stl_algobase.h:260:5: note:                 template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:216:5: note:                 template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&)
     max(const _Tp& __a, const _Tp& __b)
     ^
ferma.cpp:94:16: error: 'cnou' was not declared in this scope
            c = cnou;

                ^
ferma.cpp:98:12: error: 'k' was not declared in this scope
        for(k = 0; k < 4; k++){

            ^
ferma.cpp:68:18: warning: unused variable 'aux' [-Wunused-variable]
             char aux = a[i][j];

                  ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Ferma face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.