#4652
Scrieţi un program care, cunoscând n
şi m
(dimensiunile picturii), respectiv înălţimile pixelilor 3D, rezolvă următoarele trei cerinţe:
1. determină numărul maxim de culori pure care se combină pe un pixel 3D;
2. determină numărul de culori distincte care apar în pictura creată conform algoritmului aplicat de robotul Vasile;
3. determină dimensiunea maximă a unei zone formată din pixeli 3D de aceeaşi culoare, diferită de alb.
ONI 2024, clasa a 7-a
Problema | pictura | Operații I/O |
![]() pictura.in /pictura.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #57057600 | Utilizator | |
Fișier | pictura.cpp | Dimensiune | 3.50 KB |
Data încărcării | 14 Martie 2025, 10:40 | Scor / rezultat | Eroare de compilare |
pictura.cpp: In function 'void scurgeCuloarea(int, int, int)': pictura.cpp:40:14: error: expected unqualified-id before '[' token auto [ci, cj] = q.front(); ^ pictura.cpp:44:22: error: 'ci' was not declared in this scope int ni = ci + di[d], nj = cj + dj[d]; ^ pictura.cpp:45:39: error: 'nj' was not declared in this scope if (ni >= 1 && ni <= n && nj >= 1 && nj <= m && a[ni][nj].vf < a[ci][cj].vf) { ^ pictura.cpp:45:82: error: 'cj' was not declared in this scope if (ni >= 1 && ni <= n && nj >= 1 && nj <= m && a[ni][nj].vf < a[ci][cj].vf) { ^ pictura.cpp:48:36: error: no matching function for call to 'std::queue<std::pair<int, int> >::push(<brace-enclosed initializer list>)' q.push({ni, nj}); ^ pictura.cpp:48:36: note: candidates are: In file included from /usr/include/c++/4.8/queue:64:0, from pictura.cpp:5: /usr/include/c++/4.8/bits/stl_queue.h:212:7: note: void std::queue<_Tp, _Sequence>::push(const value_type&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::queue<_Tp, _Sequence>::value_type = std::pair<int, int>] push(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:212:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const std::pair<int, int>&}' /usr/include/c++/4.8/bits/stl_queue.h:217:7: note: void std::queue<_Tp, _Sequence>::push(std::queue<_Tp, _Sequence>::value_type&&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::queue<_Tp, _Sequence>::value_type = std::pair<int, int>] push(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:217:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::queue<std::pair<int, int> >::value_type&& {aka std::pair<int, int>&&}' pictura.cpp: In function 'int ceaMaiMareZona()': pictura.cpp:92:26: error: expected unqualified-id before '[' token auto [ci, cj] = q.front(); ^ pictura.cpp:97:34: error: 'ci' was not declared in this scope int ni = ci + di[d], nj = cj + dj[d]; ^ pictura.cpp:98:51: error: 'nj' was not declared in this scope if (ni >= 1 && ni <= n && nj >= 1 && nj <= m && !vizitat[ni][nj] && a[ni][nj].cul == a[ci][cj].cul) { ^ pictura.cpp:98:116: error: 'cj' was not declared in this scope if (ni >= 1 && ni <= n && nj >= 1 && nj <= m && !vizitat[ni][nj] && a[ni][nj].cul == a[ci][cj].cul) { ^ pictura.cpp:100:44: error: no matching function for call to 'std::queue<std::pair<int, int> >::push(<brace-enclosed initializer list>)' q.push({ni, nj}); ^ pictura.cpp:100:44: note: candidates are: In file included from /usr/include/c++/4.8/queue:64:0, from pictura.cpp:5: /usr/include/c++/4.8/bits/stl_queue.h:212:7: note: void std::queue<_Tp, _Sequence>::push(const value_type&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::queue<_Tp, _Sequence>::value_type = std::pair<int, int>] push(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:212:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const std::pair<int, int>&}' /usr/include/c++/4.8/bits/stl_queue.h:217:7: note: void std::queue<_Tp, _Sequence>::push(std::queue<_Tp, _Sequence>::value_type&&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::queue<_Tp, _Sequence>::value_type = std::pair<int, int>] push(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_queue.h:217:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::queue<std::pair<int, int> >::value_type&& {aka std::pair<int, int>&&}'
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema pictura 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ă.