#2103
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 | #62127981 | Utilizator | |
| Fișier | intersectie_segmente.cpp | Dimensiune | 5.38 KB |
| Data încărcării | 10 Ianuarie 2026, 10:27 | Scor/rezultat | Eroare de compilare |
intersectie_segmente.cpp: In function 'int main()': intersectie_segmente.cpp:188:35: error: parameter declared 'auto' sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp:188:50: error: parameter declared 'auto' sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp: In lambda function: intersectie_segmente.cpp:190:6: error: 'a' was not declared in this scope if(a.t != b.t) return a.t?(a.a < b.b):(a.b < b.a); ^ intersectie_segmente.cpp:190:13: error: 'b' was not declared in this scope if(a.t != b.t) return a.t?(a.a < b.b):(a.b < b.a); ^ intersectie_segmente.cpp:191:6: error: 'a' was not declared in this scope if(a.t == 0) return a.b < b.b; ^ intersectie_segmente.cpp:191:29: error: 'b' was not declared in this scope if(a.t == 0) return a.b < b.b; ^ intersectie_segmente.cpp:192:10: error: 'a' was not declared in this scope return a.a < b.a; ^ intersectie_segmente.cpp:192:16: error: 'b' was not declared in this scope return a.a < b.a; ^ 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:2: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]': /usr/include/c++/4.8/bits/stl_algo.h:2226:70: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' /usr/include/c++/4.8/bits/stl_algo.h:5500:55: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' intersectie_segmente.cpp:193:3: required from here /usr/include/c++/4.8/bits/stl_algo.h:2159:29: error: no match for call to '(main()::__lambda6) (main()::Point&, main()::Point&)' if (__comp(*__i, *__first)) ^ intersectie_segmente.cpp:188:21: note: candidates are: sort(all(sweep), [&](const auto& a, const auto& b) ^ 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:2: /usr/include/c++/4.8/bits/stl_algo.h:2159:29: note: void (*)() <conversion> if (__comp(*__i, *__first)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2159:29: note: candidate expects 1 argument, 3 provided intersectie_segmente.cpp:188:51: note: main()::__lambda6 sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp:188:51: note: candidate expects 0 arguments, 2 provided 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:2: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]': /usr/include/c++/4.8/bits/stl_algo.h:5349:59: required from 'void std::partial_sort(_RAIter, _RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' /usr/include/c++/4.8/bits/stl_algo.h:2332:68: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Size = int; _Compare = main()::__lambda6]' /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<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' intersectie_segmente.cpp:193:3: required from here /usr/include/c++/4.8/bits/stl_algo.h:1948:27: error: no match for call to '(main()::__lambda6) (main()::Point&, main()::Point&)' if (__comp(*__i, *__first)) ^ intersectie_segmente.cpp:188:21: note: candidates are: sort(all(sweep), [&](const auto& a, const auto& b) ^ 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:2: /usr/include/c++/4.8/bits/stl_algo.h:1948:27: note: void (*)() <conversion> if (__comp(*__i, *__first)) ^ /usr/include/c++/4.8/bits/stl_algo.h:1948:27: note: candidate expects 1 argument, 3 provided intersectie_segmente.cpp:188:51: note: main()::__lambda6 sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp:188:51: note: candidate expects 0 arguments, 2 provided 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:2: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of 'void std::__move_median_to_first(_Iterator, _Iterator, _Iterator, _Iterator, _Compare) [with _Iterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]': /usr/include/c++/4.8/bits/stl_algo.h:2295:13: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' /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<main()::Point*, std::vector<main()::Point> >; _Size = int; _Compare = main()::__lambda6]' /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<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' intersectie_segmente.cpp:193:3: required from here /usr/include/c++/4.8/bits/stl_algo.h:114:28: error: no match for call to '(main()::__lambda6) (main()::Point&, main()::Point&)' if (__comp(*__a, *__b)) ^ intersectie_segmente.cpp:188:21: note: candidates are: sort(all(sweep), [&](const auto& a, const auto& b) ^ 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:2: /usr/include/c++/4.8/bits/stl_algo.h:114:28: note: void (*)() <conversion> if (__comp(*__a, *__b)) ^ /usr/include/c++/4.8/bits/stl_algo.h:114:28: note: candidate expects 1 argument, 3 provided intersectie_segmente.cpp:188:51: note: main()::__lambda6 sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp:188:51: note: candidate expects 0 arguments, 2 provided 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:2: /usr/include/c++/4.8/bits/stl_algo.h:116:25: error: no match for call to '(main()::__lambda6) (main()::Point&, main()::Point&)' if (__comp(*__b, *__c)) ^ intersectie_segmente.cpp:188:21: note: candidates are: sort(all(sweep), [&](const auto& a, const auto& b) ^ 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:2: /usr/include/c++/4.8/bits/stl_algo.h:116:25: note: void (*)() <conversion> if (__comp(*__b, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:116:25: note: candidate expects 1 argument, 3 provided intersectie_segmente.cpp:188:51: note: main()::__lambda6 sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp:188:51: note: candidate expects 0 arguments, 2 provided 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:2: /usr/include/c++/4.8/bits/stl_algo.h:118:30: error: no match for call to '(main()::__lambda6) (main()::Point&, main()::Point&)' else if (__comp(*__a, *__c)) ^ intersectie_segmente.cpp:188:21: note: candidates are: sort(all(sweep), [&](const auto& a, const auto& b) ^ 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:2: /usr/include/c++/4.8/bits/stl_algo.h:118:30: note: void (*)() <conversion> else if (__comp(*__a, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:118:30: note: candidate expects 1 argument, 3 provided intersectie_segmente.cpp:188:51: note: main()::__lambda6 sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp:188:51: note: candidate expects 0 arguments, 2 provided 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:2: /usr/include/c++/4.8/bits/stl_algo.h:123:33: error: no match for call to '(main()::__lambda6) (main()::Point&, main()::Point&)' else if (__comp(*__a, *__c)) ^ intersectie_segmente.cpp:188:21: note: candidates are: sort(all(sweep), [&](const auto& a, const auto& b) ^ 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:2: /usr/include/c++/4.8/bits/stl_algo.h:123:33: note: void (*)() <conversion> else if (__comp(*__a, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:123:33: note: candidate expects 1 argument, 3 provided intersectie_segmente.cpp:188:51: note: main()::__lambda6 sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp:188:51: note: candidate expects 0 arguments, 2 provided 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:2: /usr/include/c++/4.8/bits/stl_algo.h:125:33: error: no match for call to '(main()::__lambda6) (main()::Point&, main()::Point&)' else if (__comp(*__b, *__c)) ^ intersectie_segmente.cpp:188:21: note: candidates are: sort(all(sweep), [&](const auto& a, const auto& b) ^ 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:2: /usr/include/c++/4.8/bits/stl_algo.h:125:33: note: void (*)() <conversion> else if (__comp(*__b, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:125:33: note: candidate expects 1 argument, 3 provided intersectie_segmente.cpp:188:51: note: main()::__lambda6 sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp:188:51: note: candidate expects 0 arguments, 2 provided 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:2: /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<main()::Point*, std::vector<main()::Point> >; _Tp = main()::Point; _Compare = main()::__lambda6]': /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<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' /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<main()::Point*, std::vector<main()::Point> >; _Size = int; _Compare = main()::__lambda6]' /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<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' intersectie_segmente.cpp:193:3: required from here /usr/include/c++/4.8/bits/stl_algo.h:2263:35: error: no match for call to '(main()::__lambda6) (main()::Point&, const main()::Point&)' while (__comp(*__first, __pivot)) ^ intersectie_segmente.cpp:188:21: note: candidates are: sort(all(sweep), [&](const auto& a, const auto& b) ^ 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:2: /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: void (*)() <conversion> while (__comp(*__first, __pivot)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: candidate expects 1 argument, 3 provided intersectie_segmente.cpp:188:51: note: main()::__lambda6 sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp:188:51: note: candidate expects 0 arguments, 2 provided 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:2: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: error: no match for call to '(main()::__lambda6) (const main()::Point&, main()::Point&)' while (__comp(__pivot, *__last)) ^ intersectie_segmente.cpp:188:21: note: candidates are: sort(all(sweep), [&](const auto& a, const auto& b) ^ 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:2: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: void (*)() <conversion> while (__comp(__pivot, *__last)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: candidate expects 1 argument, 3 provided intersectie_segmente.cpp:188:51: note: main()::__lambda6 sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp:188:51: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/bits/stl_algo.h:61:0, from /usr/include/c++/4.8/algorithm:62, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from intersectie_segmente.cpp:2: /usr/include/c++/4.8/bits/stl_heap.h: In instantiation of 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Distance = int; _Tp = main()::Point; _Compare = main()::__lambda6]': /usr/include/c++/4.8/bits/stl_heap.h:448:15: required from 'void std::make_heap(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' /usr/include/c++/4.8/bits/stl_algo.h:1946:47: required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' /usr/include/c++/4.8/bits/stl_algo.h:5349:59: required from 'void std::partial_sort(_RAIter, _RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' /usr/include/c++/4.8/bits/stl_algo.h:2332:68: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Size = int; _Compare = main()::__lambda6]' /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<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]' intersectie_segmente.cpp:193:3: required from here /usr/include/c++/4.8/bits/stl_heap.h:313:40: error: no match for call to '(main()::__lambda6) (main()::Point&, main()::Point&)' *(__first + (__secondChild - 1)))) ^ intersectie_segmente.cpp:188:21: note: candidates are: sort(all(sweep), [&](const auto& a, const auto& b) ^ In file included from /usr/include/c++/4.8/bits/stl_algo.h:61:0, from /usr/include/c++/4.8/algorithm:62, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from intersectie_segmente.cpp:2: /usr/include/c++/4.8/bits/stl_heap.h:313:40: note: void (*)() <conversion> *(__first + (__secondChild - 1)))) ^ /usr/include/c++/4.8/bits/stl_heap.h:313:40: note: candidate expects 1 argument, 3 provided intersectie_segmente.cpp:188:51: note: main()::__lambda6 sort(all(sweep), [&](const auto& a, const auto& b) ^ intersectie_segmente.cpp:188:51: note: candidate expects 0 arguments, 2 provided 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:2: /usr/include/c++/4.8/bits/stl_algo.h: At global scope: /usr/include/c++/4.8/bits/stl_algo.h:2110:5: error: 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]', declared using local type 'main()::__lambda6', is used but never defined [-fpermissive] __unguarded_linear_insert(_RandomAccessIterator __last, ^ In file included from /usr/include/c++/4.8/bits/stl_algo.h:61:0, from /usr/include/c++/4.8/algorithm:62, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from intersectie_segmente.cpp:2: /usr/include/c++/4.8/bits/stl_heap.h:331:5: error: 'void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Compare = main()::__lambda6]', declared using local type 'main()::__lambda6', is used but never defined [-fpermissive] __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, ^ /usr/include/c++/4.8/bits/stl_heap.h:178:5: error: 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<main()::Point*, std::vector<main()::Point> >; _Distance = int; _Tp = main()::Point; _Compare = main()::__lambda6]', declared using local type 'main()::Point', is used but never defined [-fpermissive] __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, ^
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ă.