#4322
dreptunghiuri1
Se consideră o matrice cu elemente 0
sau 1
, cu L
linii (numerotate de la 1
la L
) şi C
coloane (numerotate de la 1
la C
).
Definim o zonă dreptunghiulară ca fiind o submatrice ce are pe contur numai valori 1
şi cu proprietatea că nu există valori de 1
nesituate pe contur şi în acelaşi timp la distanţa 1
faţă de un punct de pe contur. Două puncte sunt la distanţa 1
dacă şi numai dacă sunt vecine pe una dintre cele 8 direcţii.
Să se determine numărul total de zone dreptunghiulare din matrice, ordinul maxim al unei zone şi numărul de zone care au acest ordin maxim.
Problema | dreptunghiuri1 | Operații I/O |
![]() dreptunghiuri.in /dreptunghiuri.out
|
---|---|---|---|
Limita timp | 0.4 secunde | Limita memorie |
Total: 20 MB
/
Stivă 8 MB
|
Id soluție | #50619848 | Utilizator | |
Fișier | dreptunghiuri1.cpp | Dimensiune | 2.39 KB |
Data încărcării | 17 Aprilie 2024, 13:13 | Scor / rezultat | Eroare de compilare |
dreptunghiuri1.cpp:10:19: error: 'int y1' redeclared as different kind of symbol int x1 = INT_MAX, y1 = INT_MAX, x2, y2; ^ In file included from /usr/include/features.h:374:0, from /usr/include/assert.h:35, from /usr/include/c++/4.8/cassert:43, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:33, from dreptunghiuri1.cpp:1: /usr/include/i386-linux-gnu/bits/mathcalls.h:241:1: error: previous declaration of 'double y1(double)' __MATHCALL (y1,, (_Mdouble_)); ^ dreptunghiuri1.cpp:11:9: error: 'int y0' redeclared as different kind of symbol int x0, y0; ^ In file included from /usr/include/features.h:374:0, from /usr/include/assert.h:35, from /usr/include/c++/4.8/cassert:43, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:33, from dreptunghiuri1.cpp:1: /usr/include/i386-linux-gnu/bits/mathcalls.h:240:1: error: previous declaration of 'double y0(double)' __MATHCALL (y0,, (_Mdouble_)); ^ dreptunghiuri1.cpp: In function 'void resetBorders()': dreptunghiuri1.cpp:17:13: error: assignment of function 'double y1(double)' x1 = y1 = INT_MAX; ^ dreptunghiuri1.cpp:17:13: error: cannot convert 'int' to 'double(double)throw ()' in assignment dreptunghiuri1.cpp: In function 'bool findInterior(int, int)': dreptunghiuri1.cpp:23:8: error: assignment of function 'double y0(double)' y0 = 0; ^ dreptunghiuri1.cpp:23:8: error: cannot convert 'int' to 'double(double)throw ()' in assignment dreptunghiuri1.cpp:27:43: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if (vx >= x1 && vx <= x2 && vy >= y1 && vy <= y2 && !mt[vx][vy]) { ^ dreptunghiuri1.cpp:29:16: error: assignment of function 'double y0(double)' y0 = vy; ^ dreptunghiuri1.cpp:29:16: error: cannot convert 'int' to 'double(double)throw ()' in assignment dreptunghiuri1.cpp:32:26: warning: the address of 'double y0(double)' will never be NULL [-Waddress] if (x0 != 0 && y0 != 0) { ^ dreptunghiuri1.cpp: In function 'void fillZone(int, int, int, int)': dreptunghiuri1.cpp:51:27: error: no matching function for call to 'min(int&, double (&)(double)throw ())' y1 = min(y, y1); ^ dreptunghiuri1.cpp:51:27: note: candidates are: 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/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 dreptunghiuri1.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&) min(const _Tp& __a, const _Tp& __b) ^ /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template argument deduction/substitution failed: dreptunghiuri1.cpp:51:27: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'double(double)throw ()') y1 = min(y, y1); ^ 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/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 dreptunghiuri1.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare) min(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template argument deduction/substitution failed: dreptunghiuri1.cpp:51:27: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'double(double)throw ()') y1 = min(y, y1); ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from dreptunghiuri1.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4221:5: note: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>) min(initializer_list<_Tp> __l) ^ /usr/include/c++/4.8/bits/stl_algo.h:4221:5: note: template argument deduction/substitution failed: dreptunghiuri1.cpp:51:27: note: mismatched types 'std::initializer_list<_Tp>' and 'int' y1 = min(y, y1); ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from dreptunghiuri1.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare) min(initializer_list<_Tp> __l, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algo.h:4226:5: note: template argument deduction/substitution failed: dreptunghiuri1.cpp:51:27: note: mismatched types 'std::initializer_list<_Tp>' and 'int' y1 = min(y, y1); ^ dreptunghiuri1.cpp:65:54: error: invalid conversion from 'double (*)(double)throw ()' to 'int' [-fpermissive] fillZone(x0, y0, level + 1, 0); ^ dreptunghiuri1.cpp:38:6: error: initializing argument 2 of 'void fillZone(int, int, int, int)' [-fpermissive] void fillZone(int i, int j, int level, int val) { ^ dreptunghiuri1.cpp: In function 'int main()': dreptunghiuri1.cpp:91:42: error: invalid conversion from 'double (*)(double)throw ()' to 'int' [-fpermissive] fillZone(x0, y0, 1, 0); ^ dreptunghiuri1.cpp:38:6: error: initializing argument 2 of 'void fillZone(int, int, int, int)' [-fpermissive] void fillZone(int i, int j, int level, int val) { ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema dreptunghiuri1 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ă.