#4465
Se dă un tablou bidimensional cu N
linii și N
coloane. Există Q
poziții distincte, etichetate cu numere naturale distincte de la 1
la Q
, unde în tablou există valoarea 1
, la toate celelalte poziții din tablou există valoarea 0
. Pentru o poziție oarecare, dintre cele Q
date, numim “forța” acelei poziții numărul subtablourilor din tabloul dat care conțin doar o singură valoare 1, cea aflată la acea poziție, restul elementelor din subtablouri fiind egale cu 0
. Pentru un șir format din P
etichete distincte, dintre cele corespunzătoare celor Q
poziții date, se cere să se calculeze suma “forțelor” acestora.
Lot informatică 2023
Problema | f1 | Operații I/O |
![]() f1.in /f1.out
|
---|---|---|---|
Limita timp | 2 secunde | Limita memorie |
Total: 512 MB
/
Stivă 64 MB
|
Id soluție | #54992773 | Utilizator | |
Fișier | f1.cpp | Dimensiune | 7.90 KB |
Data încărcării | 15 Decembrie 2024, 15:42 | Scor / rezultat | Eroare de compilare |
In file included from /usr/include/c++/4.8/algorithm:62:0, from f1.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of '_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = point*; _Tp = point; _Compare = sort_points_by_line()::__lambda0]': /usr/include/c++/4.8/bits/stl_algo.h:2296:78: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = point*; _Compare = sort_points_by_line()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:2337:62: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = point*; _Size = int; _Compare = sort_points_by_line()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:5499:44: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = point*; _Compare = sort_points_by_line()::__lambda0]' f1.cpp:47:4: required from here /usr/include/c++/4.8/bits/stl_algo.h:2263:35: error: no match for call to '(sort_points_by_line()::__lambda0) (point&, const point&)' while (__comp(*__first, __pivot)) ^ f1.cpp:45:41: note: candidates are: std::sort(p + 1, p + num_points + 1, [] (point& a, point& b) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from f1.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: bool (*)(point&, point&) <conversion> while (__comp(*__first, __pivot)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: candidate expects 3 arguments, 3 provided f1.cpp:45:62: note: sort_points_by_line()::__lambda0 std::sort(p + 1, p + num_points + 1, [] (point& a, point& b) { ^ f1.cpp:45:62: note: no known conversion for argument 2 from 'const point' to 'point&' In file included from /usr/include/c++/4.8/algorithm:62:0, from f1.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: error: no match for call to '(sort_points_by_line()::__lambda0) (const point&, point&)' while (__comp(__pivot, *__last)) ^ f1.cpp:45:41: note: candidates are: std::sort(p + 1, p + num_points + 1, [] (point& a, point& b) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from f1.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: bool (*)(point&, point&) <conversion> while (__comp(__pivot, *__last)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: candidate expects 3 arguments, 3 provided f1.cpp:45:62: note: sort_points_by_line()::__lambda0 std::sort(p + 1, p + num_points + 1, [] (point& a, point& b) { ^ f1.cpp:45:62: note: no known conversion for argument 1 from 'const point' to 'point&' f1.cpp: In function 'void read_input_data()': f1.cpp:29:58: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f, "%d %d %d", &side, &num_points, &num_queries); ^ f1.cpp:31:45: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f, "%d %d", &p[i].row, &p[i].col); ^ f1.cpp:37:26: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f, "%d", &pos); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema f1 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ă.