#2383
plaja1
Primăria orașului Constanța reamenajează plaja din stațiunea Mamaia. Aceasta este reprezentată ca o zonă dreptunghiulară cu lățimea de a unități și lungimea de b
unități. Pe plajă sunt trasate linii paralele cu laturile dreptunghiului astfel încât să formeze pătrate cu latura de o unitate, numite zone. Pe plajă se vor pune obiecte: umbrele și prosoape. Se consideră că dacă un obiect intră în interiorul unei zone, o ocupă în întregime. Se poziționează u
umbrele de soare. Într-o zonă se poate așeza cel mult o umbrelă.
N
turişti vin şi îşi aşează prosoapele pe plajă. Un prosop are formă dreptunghiulară şi va fi aşezat paralel cu laturile dreptunghiului. Turiştii îşi pot aşeza prosoapele pe zone libere sau peste prosoape deja aşezate. Un turist nu îşi poate aşeza însă prosopul pe plajă dacă suprafaţa acoperită de acesta include cel puţin o zonă în care se află o umbrelă.
M
localnici au suprafeţe favorite pentru aşezarea prosoapelor. O suprafaţă favorită are forma unui dreptunghi cu laturile paralele cu laturile dreptunghiului care marchează plaja. După ce turiştii termină aşezarea prosoapelor, localnicii verifică dacă zonele din suprafaţa favorită sunt libere (neacoperite de prosoape aşezate de turişti sau de umbrele).
Scrieţi un program care să determine numărul de turişti care au reuşit să îşi aşeze prosoapele pe plajă, precum și numărul de localnici ale căror zone favorite sunt libere.
ONI 2010
Problema | plaja1 | Operații I/O |
plaja1.in /plaja1.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #50377331 | Utilizator | |
Fișier | plaja1.cpp | Dimensiune | 1.74 KB |
Data încărcării | 07 Aprilie 2024, 12:08 | Scor / rezultat | Eroare de compilare |
plaja1.cpp:8:30: error: 'int y1' redeclared as different kind of symbol int a, b, u, n, m, i, j, x1, y1, x2, y2, x, y, l = 0; ^ 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 plaja1.cpp:1: /usr/include/i386-linux-gnu/bits/mathcalls.h:241:1: error: previous declaration of 'double y1(double)' __MATHCALL (y1,, (_Mdouble_)); ^ plaja1.cpp: In function 'int main()': plaja1.cpp:47:13: error: cannot bind 'std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}' lvalue to 'std::basic_istream<char>&&' fin >> x1 >> y1 >> x2 >> y2; ^ In file included from /usr/include/c++/4.8/sstream:38:0, 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 plaja1.cpp:1: /usr/include/c++/4.8/istream:872:5: error: initializing argument 1 of 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&&, _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = double(double)throw ()]' operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) ^ plaja1.cpp:49:32: error: invalid conversion from 'double (*)(double)throw ()' to 'int' [-fpermissive] if (vumb(x1, y1, x2, y2)) continue; ^ plaja1.cpp:19:6: error: initializing argument 2 of 'bool vumb(int, int, int, int)' [-fpermissive] bool vumb (int x1, int y1, int x2, int y2){ ^ plaja1.cpp:53:17: error: invalid types 'int [2001][double(double)throw ()]' for array subscript v[x1][y1] += 1; ^ plaja1.cpp:55:21: error: invalid types 'int [2001][double(double)throw ()]' for array subscript v[x2 + 1][y1] -= 1; ^ plaja1.cpp:79:13: error: cannot bind 'std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}' lvalue to 'std::basic_istream<char>&&' fin >> x1 >> y1 >> x2 >> y2; ^ In file included from /usr/include/c++/4.8/sstream:38:0, 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 plaja1.cpp:1: /usr/include/c++/4.8/istream:872:5: error: initializing argument 1 of 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&&, _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = double(double)throw ()]' operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) ^ plaja1.cpp:81:48: warning: pointer to a function used in arithmetic [-Wpointer-arith] if (v[x2][y2] - v[x1-1][y2] - v[x2][y1-1] + v[x1 - 1][y1 - 1] == 0) ^ plaja1.cpp:81:49: error: invalid types 'int [2001][double (*)(double)throw ()]' for array subscript if (v[x2][y2] - v[x1-1][y2] - v[x2][y1-1] + v[x1 - 1][y1 - 1] == 0) ^ plaja1.cpp:81:68: warning: pointer to a function used in arithmetic [-Wpointer-arith] if (v[x2][y2] - v[x1-1][y2] - v[x2][y1-1] + v[x1 - 1][y1 - 1] == 0) ^ plaja1.cpp:81:69: error: invalid types 'int [2001][double (*)(double)throw ()]' for array subscript if (v[x2][y2] - v[x1-1][y2] - v[x2][y1-1] + v[x1 - 1][y1 - 1] == 0) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema plaja1 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ă.