#3721
Cochilie
O matrice se numește cochilie de ordin N
, sau mai simplu cochilie, dacă a fost construită în funcție de un număr natural N
nenul după următoarea regulă:
1
cu valoarea 1
.I
cu valorile 2
, 3
, …, N
la cochilia deja existentă, se va alătura pe rând la DREAPTA, JOS, STÂNGA, SUS, în mod repetat în această ordine, câte un pătrat în care toate elementele au valoarea I
, iar lungimea laturii pătratului nou corespunde cu latura cochiliei la care se lipește.Cunoscând valorile numerelor naturale N
și P
, va trebui să răspundeți la următoarele întrebări:
N
?P
a cochiliei de ordin N
?OJI 2021, clasa a IX-a
Problema | Cochilie | Operații I/O |
![]() cochilie.in /cochilie.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 256 MB
/
Stivă 8 MB
|
Id soluție | #57037714 | Utilizator | |
Fișier | cochilie.cpp | Dimensiune | 521 B |
Data încărcării | 13 Martie 2025, 16:59 | Scor / rezultat | Eroare de compilare |
cochilie.cpp: In function 'void construiCochilie(int, std::vector<std::vector<int> >&)': cochilie.cpp:14:61: warning: left operand of comma operator has no effect [-Wunused-value] for (int j = size; j < size + dim; ++j) cochilie[i, i]=end ^ cochilie.cpp:14:63: error: no match for 'operator=' (operand types are '__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}' and '<unresolved overloaded function type>') for (int j = size; j < size + dim; ++j) cochilie[i, i]=end ^ cochilie.cpp:14:63: note: candidates are: In file included from /usr/include/c++/4.8/vector:69:0, from cochilie.cpp:2: /usr/include/c++/4.8/bits/vector.tcc:160:5: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = int; _Alloc = std::allocator<int>] vector<_Tp, _Alloc>:: ^ /usr/include/c++/4.8/bits/vector.tcc:160:5: note: no known conversion for argument 1 from '<unresolved overloaded function type>' to 'const std::vector<int>&' In file included from /usr/include/c++/4.8/vector:64:0, from cochilie.cpp:2: /usr/include/c++/4.8/bits/stl_vector.h:439:7: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::vector<_Tp, _Alloc>&&) [with _Tp = int; _Alloc = std::allocator<int>] operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move()) ^ /usr/include/c++/4.8/bits/stl_vector.h:439:7: note: no known conversion for argument 1 from '<unresolved overloaded function type>' to 'std::vector<int>&&' /usr/include/c++/4.8/bits/stl_vector.h:461:7: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::initializer_list<_Tp>) [with _Tp = int; _Alloc = std::allocator<int>] operator=(initializer_list<value_type> __l) ^ /usr/include/c++/4.8/bits/stl_vector.h:461:7: note: no known conversion for argument 1 from '<unresolved overloaded function type>' to 'std::initializer_list<int>' cochilie.cpp:14:64: error: expected ';' at end of input for (int j = size; j < size + dim; ++j) cochilie[i, i]=end ^ cochilie.cpp:14:64: error: expected '}' at end of input cochilie.cpp:14:64: error: expected '}' at end of input
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cochilie 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ă.