Detalii evaluare #63832537

Rezumat problemă

#2962

O suprafață de teren de formă dreptunghiulară este divizată în N fâșii orizontale și M fâșii verticale, de lățimi egale. Se formează astfel N x M zone de formă pătrată, cu latura egală cu o unitate. Astfel, suprafața este reprezentată sub forma unui tablou bidimensional cu N linii și M coloane, în care pentru fiecare zonă este memorat un număr ce reprezintă altitudinea zonei respective. Interesant este că în tablou apar toate valorile 1, 2, …, N•M. Suprafața este destinată turismului. Deoarece spre laturile de Est și Sud ale suprafeței există peisaje de o frumusețe uimitoare, se dorește găsirea unor trasee turistice în care deplasarea să se realizeze cu pași de lungime unitară mergând doar spre Est și spre Sud. O comisie, care trebuie să rezolve această problemă, a stabilit că un traseu este atractiv dacă și numai dacă ultima poziție a traseului are altitudinea mai mare decât prima poziție a traseului. Un traseu poate începe, respectiv se poate încheia, în oricare dintre zonele terenului, cu respectarea condițiilor anterioare. Se cere să se determine numărul maxim Z de zone pe care le poate avea un traseu atractiv.

Detalii

Problema traseu3 Operații I/O traseu.in/traseu.out
Limita timp 1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #63832537 Utilizator Sebeni Mitrut (mitrut_sebeni)
Fișier traseu3.cpp Dimensiune 1.05 KB
Data încărcării 20 Martie 2026, 15:21 Scor/rezultat Eroare de compilare

Evaluare

Mesaj compilare

traseu3.cpp: In function 'int main()':
traseu3.cpp:13:13: error: 'j' was not declared in this scope
         for(j=1;j<=m;j++)

             ^
traseu3.cpp:21:24: error: 'k' was not declared in this scope
             v[i][j]={i,k};

                        ^
traseu3.cpp:21:20: error: no match for 'operator=' (operand types are 'std::pair<int, int>' and '<brace-enclosed initializer list>')
             v[i][j]={i,k};

                    ^
traseu3.cpp:21:20: note: candidates are:
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from traseu3.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:158:7: note: std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(const std::pair<_T1, _T2>&) [with _T1 = int; _T2 = int]
       operator=(const pair& __p)
       ^
/usr/include/c++/4.8/bits/stl_pair.h:158:7: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::pair<int, int>&'
/usr/include/c++/4.8/bits/stl_pair.h:166:7: note: std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(std::pair<_T1, _T2>&&) [with _T1 = int; _T2 = int]
       operator=(pair&& __p)
       ^
/usr/include/c++/4.8/bits/stl_pair.h:166:7: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::pair<int, int>&&'
/usr/include/c++/4.8/bits/stl_pair.h:177:2: note: template<class _U1, class _U2> std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(const std::pair<_U1, _U2>&) [with _U1 = _U1; _U2 = _U2; _T1 = int; _T2 = int]
  operator=(const pair<_U1, _U2>& __p)
  ^
/usr/include/c++/4.8/bits/stl_pair.h:177:2: note:   template argument deduction/substitution failed:
traseu3.cpp:21:20: note:   couldn't deduce template parameter '_U1'
             v[i][j]={i,k};

                    ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from traseu3.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:186:2: note: template<class _U1, class _U2> std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(std::pair<_U1, _U2>&&) [with _U1 = _U1; _U2 = _U2; _T1 = int; _T2 = int]
  operator=(pair<_U1, _U2>&& __p)
  ^
/usr/include/c++/4.8/bits/stl_pair.h:186:2: note:   template argument deduction/substitution failed:
traseu3.cpp:21:20: note:   couldn't deduce template parameter '_U1'
             v[i][j]={i,k};

                    ^
traseu3.cpp:25:45: error: request for member 'first' in 'v', which is of non-class type 'std::pair<int, int> [505][505]'
                 if(a[p.first][p.second]<a[v.first][v.second])

                                             ^
traseu3.cpp:25:54: error: request for member 'second' in 'v', which is of non-class type 'std::pair<int, int> [505][505]'
                 if(a[p.first][p.second]<a[v.first][v.second])

                                                      ^
traseu3.cpp:34:45: error: request for member 'first' in 'v', which is of non-class type 'std::pair<int, int> [505][505]'
                 if(a[p.first][p.second]<a[v.first][v.second])

                                             ^
traseu3.cpp:34:54: error: request for member 'second' in 'v', which is of non-class type 'std::pair<int, int> [505][505]'
                 if(a[p.first][p.second]<a[v.first][v.second])

                                                      ^

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

Du-te sus!