#2103
Intersectie Segmente
Se dau N
segmente în plan, fiecare fiind paralel cu una dintre axele de coordonate. Determinați numărul total de puncte de intersecție între două segmente.
Problema | Intersectie Segmente | Operații I/O |
is.in /is.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #44111738 | Utilizator | |
Fișier | intersectie_segmente.cpp | Dimensiune | 1.32 KB |
Data încărcării | 24 Iunie 2023, 12:43 | Scor / rezultat | Eroare de compilare |
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 intersectie_segmente.cpp:3: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of '_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<seg*, std::vector<seg> >; _Tp = seg; _Compare = main()::__lambda4]': /usr/include/c++/4.8/bits/stl_algo.h:2296:78: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<seg*, std::vector<seg> >; _Compare = main()::__lambda4]' /usr/include/c++/4.8/bits/stl_algo.h:2337:62: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<seg*, std::vector<seg> >; _Size = int; _Compare = main()::__lambda4]' /usr/include/c++/4.8/bits/stl_algo.h:5499:44: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<seg*, std::vector<seg> >; _Compare = main()::__lambda4]' intersectie_segmente.cpp:44:75: required from here /usr/include/c++/4.8/bits/stl_algo.h:2263:35: error: no match for call to '(main()::__lambda4) (seg&, const seg&)' while (__comp(*__first, __pivot)) ^ intersectie_segmente.cpp:44:29: note: candidates are: sort(x.begin(), x.end(), [](seg &s1, seg &s2) { return s1.x1 <= s2.x1; }); ^ 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 intersectie_segmente.cpp:3: /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: bool (*)(seg&, seg&) <conversion> while (__comp(*__first, __pivot)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: candidate expects 3 arguments, 3 provided intersectie_segmente.cpp:44:47: note: main()::__lambda4 sort(x.begin(), x.end(), [](seg &s1, seg &s2) { return s1.x1 <= s2.x1; }); ^ intersectie_segmente.cpp:44:47: note: no known conversion for argument 2 from 'const seg' to 'seg&' 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 intersectie_segmente.cpp:3: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: error: no match for call to '(main()::__lambda4) (const seg&, seg&)' while (__comp(__pivot, *__last)) ^ intersectie_segmente.cpp:44:29: note: candidates are: sort(x.begin(), x.end(), [](seg &s1, seg &s2) { return s1.x1 <= s2.x1; }); ^ 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 intersectie_segmente.cpp:3: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: bool (*)(seg&, seg&) <conversion> while (__comp(__pivot, *__last)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: candidate expects 3 arguments, 3 provided intersectie_segmente.cpp:44:47: note: main()::__lambda4 sort(x.begin(), x.end(), [](seg &s1, seg &s2) { return s1.x1 <= s2.x1; }); ^ intersectie_segmente.cpp:44:47: note: no known conversion for argument 1 from 'const seg' to 'seg&' 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 intersectie_segmente.cpp:3: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of '_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<seg*, std::vector<seg> >; _Tp = seg; _Compare = main()::__lambda5]': /usr/include/c++/4.8/bits/stl_algo.h:2296:78: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<seg*, std::vector<seg> >; _Compare = main()::__lambda5]' /usr/include/c++/4.8/bits/stl_algo.h:2337:62: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<seg*, std::vector<seg> >; _Size = int; _Compare = main()::__lambda5]' /usr/include/c++/4.8/bits/stl_algo.h:5499:44: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<seg*, std::vector<seg> >; _Compare = main()::__lambda5]' intersectie_segmente.cpp:45:75: required from here /usr/include/c++/4.8/bits/stl_algo.h:2263:35: error: no match for call to '(main()::__lambda5) (seg&, const seg&)' while (__comp(*__first, __pivot)) ^ intersectie_segmente.cpp:45:29: note: candidates are: sort(y.begin(), y.end(), [](seg &s1, seg &s2) { return s1.y1 <= s2.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 intersectie_segmente.cpp:3: /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: bool (*)(seg&, seg&) <conversion> while (__comp(*__first, __pivot)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: candidate expects 3 arguments, 3 provided intersectie_segmente.cpp:45:47: note: main()::__lambda5 sort(y.begin(), y.end(), [](seg &s1, seg &s2) { return s1.y1 <= s2.y1; }); ^ intersectie_segmente.cpp:45:47: note: no known conversion for argument 2 from 'const seg' to 'seg&' 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 intersectie_segmente.cpp:3: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: error: no match for call to '(main()::__lambda5) (const seg&, seg&)' while (__comp(__pivot, *__last)) ^ intersectie_segmente.cpp:45:29: note: candidates are: sort(y.begin(), y.end(), [](seg &s1, seg &s2) { return s1.y1 <= s2.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 intersectie_segmente.cpp:3: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: bool (*)(seg&, seg&) <conversion> while (__comp(__pivot, *__last)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: candidate expects 3 arguments, 3 provided intersectie_segmente.cpp:45:47: note: main()::__lambda5 sort(y.begin(), y.end(), [](seg &s1, seg &s2) { return s1.y1 <= s2.y1; }); ^ intersectie_segmente.cpp:45:47: note: no known conversion for argument 1 from 'const seg' to 'seg&'
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Intersectie Segmente 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ă.