#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 | #54511414 | Utilizator | |
Fișier | intersectie_segmente.cpp | Dimensiune | 3.11 KB |
Data încărcării | 30 Noiembrie 2024, 20:02 | Scor / rezultat | Eroare de compilare |
intersectie_segmente.cpp: In function 'void ReadArray()': intersectie_segmente.cpp:57:23: warning: narrowing conversion of '((y1 == y2) ? 1 : 2)' from 'int' to 'short int' inside { } [-Wnarrowing] points[2 * i] = {x1, y1, 2 * i + 1, (y1 == y2) ? 1 : 2}; ^ intersectie_segmente.cpp:58:27: warning: narrowing conversion of '((y1 == y2) ? 1 : 2)' from 'int' to 'short int' inside { } [-Wnarrowing] points[2 * i + 1] = {x2, y2, 2 * i, (y1 == y2) ? 1 : 2}; ^ 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:1: /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<std::pair<Point, int>*, std::vector<std::pair<Point, int> > >; _Tp = std::pair<Point, int>; _Compare = bool (*)(std::pair<Point, int>&, std::pair<Point, int>&)]': /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<std::pair<Point, int>*, std::vector<std::pair<Point, int> > >; _Compare = bool (*)(std::pair<Point, int>&, std::pair<Point, int>&)]' /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<std::pair<Point, int>*, std::vector<std::pair<Point, int> > >; _Size = int; _Compare = bool (*)(std::pair<Point, int>&, std::pair<Point, int>&)]' /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<std::pair<Point, int>*, std::vector<std::pair<Point, int> > >; _Compare = bool (*)(std::pair<Point, int>&, std::pair<Point, int>&)]' intersectie_segmente.cpp:87:58: required from here /usr/include/c++/4.8/bits/stl_algo.h:2263:35: error: invalid initialization of reference of type 'std::pair<Point, int>&' from expression of type 'const std::pair<Point, int>' while (__comp(*__first, __pivot)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2266:34: error: invalid initialization of reference of type 'std::pair<Point, int>&' from expression of type 'const std::pair<Point, int>' while (__comp(__pivot, *__last)) ^
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ă.