Changing from set to vector
This commit is contained in:
parent
6335e796fa
commit
7b00f0fd3b
@ -184,11 +184,13 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o
|
|||||||
/usr/include/c++/11.2.0/bits/ostream.tcc
|
/usr/include/c++/11.2.0/bits/ostream.tcc
|
||||||
/usr/include/c++/11.2.0/istream
|
/usr/include/c++/11.2.0/istream
|
||||||
/usr/include/c++/11.2.0/bits/istream.tcc
|
/usr/include/c++/11.2.0/bits/istream.tcc
|
||||||
/usr/include/c++/11.2.0/vector
|
/usr/include/c++/11.2.0/set
|
||||||
/usr/include/c++/11.2.0/bits/stl_uninitialized.h
|
/usr/include/c++/11.2.0/bits/stl_tree.h
|
||||||
/usr/include/c++/11.2.0/bits/stl_vector.h
|
/usr/include/c++/11.2.0/ext/aligned_buffer.h
|
||||||
/usr/include/c++/11.2.0/bits/stl_bvector.h
|
/usr/include/c++/11.2.0/bits/node_handle.h
|
||||||
/usr/include/c++/11.2.0/bits/vector.tcc
|
/usr/include/c++/11.2.0/bits/stl_set.h
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_multiset.h
|
||||||
|
/usr/include/c++/11.2.0/bits/erase_if.h
|
||||||
/usr/include/c++/11.2.0/fstream
|
/usr/include/c++/11.2.0/fstream
|
||||||
/usr/include/c++/11.2.0/bits/codecvt.h
|
/usr/include/c++/11.2.0/bits/codecvt.h
|
||||||
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/basic_file.h
|
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/basic_file.h
|
||||||
@ -237,18 +239,16 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o
|
|||||||
/usr/include/c++/11.2.0/bits/refwrap.h
|
/usr/include/c++/11.2.0/bits/refwrap.h
|
||||||
/usr/include/c++/11.2.0/bits/std_function.h
|
/usr/include/c++/11.2.0/bits/std_function.h
|
||||||
/usr/include/c++/11.2.0/unordered_map
|
/usr/include/c++/11.2.0/unordered_map
|
||||||
/usr/include/c++/11.2.0/ext/aligned_buffer.h
|
|
||||||
/usr/include/c++/11.2.0/bits/hashtable.h
|
/usr/include/c++/11.2.0/bits/hashtable.h
|
||||||
/usr/include/c++/11.2.0/bits/hashtable_policy.h
|
/usr/include/c++/11.2.0/bits/hashtable_policy.h
|
||||||
/usr/include/c++/11.2.0/bits/node_handle.h
|
|
||||||
/usr/include/c++/11.2.0/bits/unordered_map.h
|
/usr/include/c++/11.2.0/bits/unordered_map.h
|
||||||
/usr/include/c++/11.2.0/bits/erase_if.h
|
/usr/include/c++/11.2.0/vector
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_uninitialized.h
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_vector.h
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_bvector.h
|
||||||
|
/usr/include/c++/11.2.0/bits/vector.tcc
|
||||||
/usr/include/c++/11.2.0/pstl/execution_defs.h
|
/usr/include/c++/11.2.0/pstl/execution_defs.h
|
||||||
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h
|
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h
|
||||||
/usr/include/c++/11.2.0/set
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_tree.h
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_set.h
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_multiset.h
|
|
||||||
/usr/include/c++/11.2.0/map
|
/usr/include/c++/11.2.0/map
|
||||||
/usr/include/c++/11.2.0/bits/stl_map.h
|
/usr/include/c++/11.2.0/bits/stl_map.h
|
||||||
/usr/include/c++/11.2.0/bits/stl_multimap.h
|
/usr/include/c++/11.2.0/bits/stl_multimap.h
|
||||||
|
|||||||
@ -183,11 +183,13 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \
|
|||||||
/usr/include/c++/11.2.0/bits/ostream.tcc \
|
/usr/include/c++/11.2.0/bits/ostream.tcc \
|
||||||
/usr/include/c++/11.2.0/istream \
|
/usr/include/c++/11.2.0/istream \
|
||||||
/usr/include/c++/11.2.0/bits/istream.tcc \
|
/usr/include/c++/11.2.0/bits/istream.tcc \
|
||||||
/usr/include/c++/11.2.0/vector \
|
/usr/include/c++/11.2.0/set \
|
||||||
/usr/include/c++/11.2.0/bits/stl_uninitialized.h \
|
/usr/include/c++/11.2.0/bits/stl_tree.h \
|
||||||
/usr/include/c++/11.2.0/bits/stl_vector.h \
|
/usr/include/c++/11.2.0/ext/aligned_buffer.h \
|
||||||
/usr/include/c++/11.2.0/bits/stl_bvector.h \
|
/usr/include/c++/11.2.0/bits/node_handle.h \
|
||||||
/usr/include/c++/11.2.0/bits/vector.tcc \
|
/usr/include/c++/11.2.0/bits/stl_set.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_multiset.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/erase_if.h \
|
||||||
/usr/include/c++/11.2.0/fstream \
|
/usr/include/c++/11.2.0/fstream \
|
||||||
/usr/include/c++/11.2.0/bits/codecvt.h \
|
/usr/include/c++/11.2.0/bits/codecvt.h \
|
||||||
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/basic_file.h \
|
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/basic_file.h \
|
||||||
@ -236,18 +238,16 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \
|
|||||||
/usr/include/c++/11.2.0/bits/refwrap.h \
|
/usr/include/c++/11.2.0/bits/refwrap.h \
|
||||||
/usr/include/c++/11.2.0/bits/std_function.h \
|
/usr/include/c++/11.2.0/bits/std_function.h \
|
||||||
/usr/include/c++/11.2.0/unordered_map \
|
/usr/include/c++/11.2.0/unordered_map \
|
||||||
/usr/include/c++/11.2.0/ext/aligned_buffer.h \
|
|
||||||
/usr/include/c++/11.2.0/bits/hashtable.h \
|
/usr/include/c++/11.2.0/bits/hashtable.h \
|
||||||
/usr/include/c++/11.2.0/bits/hashtable_policy.h \
|
/usr/include/c++/11.2.0/bits/hashtable_policy.h \
|
||||||
/usr/include/c++/11.2.0/bits/node_handle.h \
|
|
||||||
/usr/include/c++/11.2.0/bits/unordered_map.h \
|
/usr/include/c++/11.2.0/bits/unordered_map.h \
|
||||||
/usr/include/c++/11.2.0/bits/erase_if.h \
|
/usr/include/c++/11.2.0/vector \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_uninitialized.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_vector.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_bvector.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/vector.tcc \
|
||||||
/usr/include/c++/11.2.0/pstl/execution_defs.h \
|
/usr/include/c++/11.2.0/pstl/execution_defs.h \
|
||||||
../src/HiddenLines.h \
|
../src/HiddenLines.h \
|
||||||
/usr/include/c++/11.2.0/set \
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_tree.h \
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_set.h \
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_multiset.h \
|
|
||||||
/usr/include/c++/11.2.0/map \
|
/usr/include/c++/11.2.0/map \
|
||||||
/usr/include/c++/11.2.0/bits/stl_map.h \
|
/usr/include/c++/11.2.0/bits/stl_map.h \
|
||||||
/usr/include/c++/11.2.0/bits/stl_multimap.h \
|
/usr/include/c++/11.2.0/bits/stl_multimap.h \
|
||||||
@ -256,9 +256,15 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \
|
|||||||
|
|
||||||
/usr/include/c++/11.2.0/map:
|
/usr/include/c++/11.2.0/map:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/hashtable_policy.h:
|
/usr/include/c++/11.2.0/bits/vector.tcc:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/ext/aligned_buffer.h:
|
/usr/include/c++/11.2.0/bits/stl_vector.h:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_uninitialized.h:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/vector:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/hashtable_policy.h:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/invoke.h:
|
/usr/include/c++/11.2.0/bits/invoke.h:
|
||||||
|
|
||||||
@ -318,17 +324,11 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \
|
|||||||
|
|
||||||
/usr/include/c++/11.2.0/fstream:
|
/usr/include/c++/11.2.0/fstream:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/vector.tcc:
|
/usr/include/c++/11.2.0/ext/aligned_buffer.h:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/set:
|
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_bvector.h:
|
/usr/include/c++/11.2.0/bits/stl_bvector.h:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_vector.h:
|
/usr/include/c++/11.2.0/set:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_uninitialized.h:
|
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/vector:
|
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/istream.tcc:
|
/usr/include/c++/11.2.0/bits/istream.tcc:
|
||||||
|
|
||||||
@ -542,10 +542,10 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: ../src/HiddenLines.cpp \
|
|||||||
|
|
||||||
/usr/include/bits/libc-header-start.h:
|
/usr/include/bits/libc-header-start.h:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_multiset.h:
|
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/functional:
|
/usr/include/c++/11.2.0/functional:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_multiset.h:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/cpu_defines.h:
|
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/cpu_defines.h:
|
||||||
|
|
||||||
/usr/include/bits/byteswap.h:
|
/usr/include/bits/byteswap.h:
|
||||||
|
|||||||
Binary file not shown.
@ -129,11 +129,13 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: \
|
|||||||
/usr/include/c++/11.2.0/bits/locale_facets.tcc \
|
/usr/include/c++/11.2.0/bits/locale_facets.tcc \
|
||||||
/usr/include/c++/11.2.0/bits/basic_ios.tcc \
|
/usr/include/c++/11.2.0/bits/basic_ios.tcc \
|
||||||
/usr/include/c++/11.2.0/bits/ostream.tcc /usr/include/c++/11.2.0/istream \
|
/usr/include/c++/11.2.0/bits/ostream.tcc /usr/include/c++/11.2.0/istream \
|
||||||
/usr/include/c++/11.2.0/bits/istream.tcc /usr/include/c++/11.2.0/vector \
|
/usr/include/c++/11.2.0/bits/istream.tcc /usr/include/c++/11.2.0/set \
|
||||||
/usr/include/c++/11.2.0/bits/stl_uninitialized.h \
|
/usr/include/c++/11.2.0/bits/stl_tree.h \
|
||||||
/usr/include/c++/11.2.0/bits/stl_vector.h \
|
/usr/include/c++/11.2.0/ext/aligned_buffer.h \
|
||||||
/usr/include/c++/11.2.0/bits/stl_bvector.h \
|
/usr/include/c++/11.2.0/bits/node_handle.h \
|
||||||
/usr/include/c++/11.2.0/bits/vector.tcc /usr/include/c++/11.2.0/fstream \
|
/usr/include/c++/11.2.0/bits/stl_set.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_multiset.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/erase_if.h /usr/include/c++/11.2.0/fstream \
|
||||||
/usr/include/c++/11.2.0/bits/codecvt.h \
|
/usr/include/c++/11.2.0/bits/codecvt.h \
|
||||||
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/basic_file.h \
|
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/basic_file.h \
|
||||||
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/c++io.h \
|
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/c++io.h \
|
||||||
@ -174,17 +176,16 @@ CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o: \
|
|||||||
/usr/include/c++/11.2.0/bits/refwrap.h \
|
/usr/include/c++/11.2.0/bits/refwrap.h \
|
||||||
/usr/include/c++/11.2.0/bits/std_function.h \
|
/usr/include/c++/11.2.0/bits/std_function.h \
|
||||||
/usr/include/c++/11.2.0/unordered_map \
|
/usr/include/c++/11.2.0/unordered_map \
|
||||||
/usr/include/c++/11.2.0/ext/aligned_buffer.h \
|
|
||||||
/usr/include/c++/11.2.0/bits/hashtable.h \
|
/usr/include/c++/11.2.0/bits/hashtable.h \
|
||||||
/usr/include/c++/11.2.0/bits/hashtable_policy.h \
|
/usr/include/c++/11.2.0/bits/hashtable_policy.h \
|
||||||
/usr/include/c++/11.2.0/bits/node_handle.h \
|
|
||||||
/usr/include/c++/11.2.0/bits/unordered_map.h \
|
/usr/include/c++/11.2.0/bits/unordered_map.h \
|
||||||
/usr/include/c++/11.2.0/bits/erase_if.h \
|
/usr/include/c++/11.2.0/vector \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_uninitialized.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_vector.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_bvector.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/vector.tcc \
|
||||||
/usr/include/c++/11.2.0/pstl/execution_defs.h \
|
/usr/include/c++/11.2.0/pstl/execution_defs.h \
|
||||||
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h \
|
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h \
|
||||||
/usr/include/c++/11.2.0/set /usr/include/c++/11.2.0/bits/stl_tree.h \
|
/usr/include/c++/11.2.0/map /usr/include/c++/11.2.0/bits/stl_map.h \
|
||||||
/usr/include/c++/11.2.0/bits/stl_set.h \
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_multiset.h /usr/include/c++/11.2.0/map \
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_map.h \
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_multimap.h \
|
/usr/include/c++/11.2.0/bits/stl_multimap.h \
|
||||||
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/Line.h
|
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/Line.h
|
||||||
|
|||||||
Binary file not shown.
@ -185,12 +185,23 @@ CMakeFiles/main.dir/src/main.cpp.o
|
|||||||
/usr/include/c++/11.2.0/istream
|
/usr/include/c++/11.2.0/istream
|
||||||
/usr/include/c++/11.2.0/bits/istream.tcc
|
/usr/include/c++/11.2.0/bits/istream.tcc
|
||||||
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h
|
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h
|
||||||
/usr/include/c++/11.2.0/set
|
/usr/include/c++/11.2.0/map
|
||||||
/usr/include/c++/11.2.0/bits/stl_tree.h
|
/usr/include/c++/11.2.0/bits/stl_tree.h
|
||||||
/usr/include/c++/11.2.0/ext/aligned_buffer.h
|
/usr/include/c++/11.2.0/ext/aligned_buffer.h
|
||||||
/usr/include/c++/11.2.0/bits/node_handle.h
|
/usr/include/c++/11.2.0/bits/node_handle.h
|
||||||
/usr/include/c++/11.2.0/bits/stl_set.h
|
/usr/include/c++/11.2.0/bits/stl_map.h
|
||||||
/usr/include/c++/11.2.0/bits/stl_multiset.h
|
/usr/include/c++/11.2.0/tuple
|
||||||
|
/usr/include/c++/11.2.0/utility
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_relops.h
|
||||||
|
/usr/include/c++/11.2.0/array
|
||||||
|
/usr/include/c++/11.2.0/bits/uses_allocator.h
|
||||||
|
/usr/include/c++/11.2.0/bits/invoke.h
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_multimap.h
|
||||||
/usr/include/c++/11.2.0/bits/erase_if.h
|
/usr/include/c++/11.2.0/bits/erase_if.h
|
||||||
|
/usr/include/c++/11.2.0/vector
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_uninitialized.h
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_vector.h
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_bvector.h
|
||||||
|
/usr/include/c++/11.2.0/bits/vector.tcc
|
||||||
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/Line.h
|
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/Line.h
|
||||||
|
|
||||||
|
|||||||
@ -184,19 +184,50 @@ CMakeFiles/main.dir/src/main.cpp.o: ../src/main.cpp \
|
|||||||
/usr/include/c++/11.2.0/istream \
|
/usr/include/c++/11.2.0/istream \
|
||||||
/usr/include/c++/11.2.0/bits/istream.tcc \
|
/usr/include/c++/11.2.0/bits/istream.tcc \
|
||||||
../src/HiddenLines.h \
|
../src/HiddenLines.h \
|
||||||
/usr/include/c++/11.2.0/set \
|
/usr/include/c++/11.2.0/map \
|
||||||
/usr/include/c++/11.2.0/bits/stl_tree.h \
|
/usr/include/c++/11.2.0/bits/stl_tree.h \
|
||||||
/usr/include/c++/11.2.0/ext/aligned_buffer.h \
|
/usr/include/c++/11.2.0/ext/aligned_buffer.h \
|
||||||
/usr/include/c++/11.2.0/bits/node_handle.h \
|
/usr/include/c++/11.2.0/bits/node_handle.h \
|
||||||
/usr/include/c++/11.2.0/bits/stl_set.h \
|
/usr/include/c++/11.2.0/bits/stl_map.h \
|
||||||
/usr/include/c++/11.2.0/bits/stl_multiset.h \
|
/usr/include/c++/11.2.0/tuple \
|
||||||
|
/usr/include/c++/11.2.0/utility \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_relops.h \
|
||||||
|
/usr/include/c++/11.2.0/array \
|
||||||
|
/usr/include/c++/11.2.0/bits/uses_allocator.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/invoke.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_multimap.h \
|
||||||
/usr/include/c++/11.2.0/bits/erase_if.h \
|
/usr/include/c++/11.2.0/bits/erase_if.h \
|
||||||
|
/usr/include/c++/11.2.0/vector \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_uninitialized.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_vector.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_bvector.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/vector.tcc \
|
||||||
../src/Line.h
|
../src/Line.h
|
||||||
|
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/vector.tcc:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_bvector.h:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_vector.h:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_uninitialized.h:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/vector:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/invoke.h:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/uses_allocator.h:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/array:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_relops.h:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/tuple:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/ext/aligned_buffer.h:
|
/usr/include/c++/11.2.0/ext/aligned_buffer.h:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/set:
|
/usr/include/c++/11.2.0/map:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/istream.tcc:
|
/usr/include/c++/11.2.0/bits/istream.tcc:
|
||||||
|
|
||||||
@ -230,8 +261,12 @@ CMakeFiles/main.dir/src/main.cpp.o: ../src/main.cpp \
|
|||||||
|
|
||||||
/usr/include/errno.h:
|
/usr/include/errno.h:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_multimap.h:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/cerrno:
|
/usr/include/c++/11.2.0/cerrno:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_map.h:
|
||||||
|
|
||||||
/usr/include/bits/stdio.h:
|
/usr/include/bits/stdio.h:
|
||||||
|
|
||||||
/usr/include/bits/types/struct_FILE.h:
|
/usr/include/bits/types/struct_FILE.h:
|
||||||
@ -350,8 +385,6 @@ CMakeFiles/main.dir/src/main.cpp.o: ../src/main.cpp \
|
|||||||
|
|
||||||
/usr/include/bits/pthread_stack_min-dynamic.h:
|
/usr/include/bits/pthread_stack_min-dynamic.h:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_set.h:
|
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/move.h:
|
/usr/include/c++/11.2.0/bits/move.h:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/cctype:
|
/usr/include/c++/11.2.0/cctype:
|
||||||
@ -382,8 +415,6 @@ CMakeFiles/main.dir/src/main.cpp.o: ../src/main.cpp \
|
|||||||
|
|
||||||
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/gthr-default.h:
|
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/gthr-default.h:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_multiset.h:
|
|
||||||
|
|
||||||
../src/main.cpp:
|
../src/main.cpp:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/cpu_defines.h:
|
/usr/include/c++/11.2.0/x86_64-pc-linux-gnu/bits/cpu_defines.h:
|
||||||
@ -432,6 +463,8 @@ CMakeFiles/main.dir/src/main.cpp.o: ../src/main.cpp \
|
|||||||
|
|
||||||
/usr/include/bits/types/time_t.h:
|
/usr/include/bits/types/time_t.h:
|
||||||
|
|
||||||
|
/usr/include/c++/11.2.0/utility:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/debug/debug.h:
|
/usr/include/c++/11.2.0/debug/debug.h:
|
||||||
|
|
||||||
/usr/include/c++/11.2.0/bits/predefined_ops.h:
|
/usr/include/c++/11.2.0/bits/predefined_ops.h:
|
||||||
|
|||||||
Binary file not shown.
@ -131,16 +131,18 @@ CMakeFiles/main.dir/src/main.cpp.o: \
|
|||||||
/usr/include/c++/11.2.0/bits/ostream.tcc /usr/include/c++/11.2.0/istream \
|
/usr/include/c++/11.2.0/bits/ostream.tcc /usr/include/c++/11.2.0/istream \
|
||||||
/usr/include/c++/11.2.0/bits/istream.tcc \
|
/usr/include/c++/11.2.0/bits/istream.tcc \
|
||||||
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h \
|
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/HiddenLines.h \
|
||||||
/usr/include/c++/11.2.0/set /usr/include/c++/11.2.0/bits/stl_tree.h \
|
/usr/include/c++/11.2.0/map /usr/include/c++/11.2.0/bits/stl_tree.h \
|
||||||
/usr/include/c++/11.2.0/ext/aligned_buffer.h \
|
/usr/include/c++/11.2.0/ext/aligned_buffer.h \
|
||||||
/usr/include/c++/11.2.0/bits/node_handle.h \
|
/usr/include/c++/11.2.0/bits/node_handle.h \
|
||||||
/usr/include/c++/11.2.0/bits/stl_set.h \
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_multiset.h \
|
|
||||||
/usr/include/c++/11.2.0/bits/erase_if.h /usr/include/c++/11.2.0/map \
|
|
||||||
/usr/include/c++/11.2.0/bits/stl_map.h /usr/include/c++/11.2.0/tuple \
|
/usr/include/c++/11.2.0/bits/stl_map.h /usr/include/c++/11.2.0/tuple \
|
||||||
/usr/include/c++/11.2.0/utility \
|
/usr/include/c++/11.2.0/utility \
|
||||||
/usr/include/c++/11.2.0/bits/stl_relops.h /usr/include/c++/11.2.0/array \
|
/usr/include/c++/11.2.0/bits/stl_relops.h /usr/include/c++/11.2.0/array \
|
||||||
/usr/include/c++/11.2.0/bits/uses_allocator.h \
|
/usr/include/c++/11.2.0/bits/uses_allocator.h \
|
||||||
/usr/include/c++/11.2.0/bits/invoke.h \
|
/usr/include/c++/11.2.0/bits/invoke.h \
|
||||||
/usr/include/c++/11.2.0/bits/stl_multimap.h \
|
/usr/include/c++/11.2.0/bits/stl_multimap.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/erase_if.h /usr/include/c++/11.2.0/vector \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_uninitialized.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_vector.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/stl_bvector.h \
|
||||||
|
/usr/include/c++/11.2.0/bits/vector.tcc \
|
||||||
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/Line.h
|
/home/noah/Documents/School/CS-7353_Analysis-of-Algorithms/HW/HW4/src/Line.h
|
||||||
|
|||||||
BIN
build/libHLlib.a
BIN
build/libHLlib.a
Binary file not shown.
Binary file not shown.
BIN
build/main
BIN
build/main
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
//Hidden Lines work
|
//Hidden Lines work
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <vector>
|
#include <set>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
@ -17,66 +17,116 @@ HL::HL()
|
|||||||
lines = construct_HWprob();
|
lines = construct_HWprob();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::map<int, Line> HL::get_map()
|
||||||
|
{
|
||||||
|
return line_holder;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void HL::print_sol()
|
void HL::print_sol()
|
||||||
{
|
{
|
||||||
auto sol = get_sol();
|
auto sol = get_sol();
|
||||||
for(auto itr = sol.begin(); itr != sol.end(); itr++)
|
for(auto itr = sol.begin(); itr != sol.end(); itr++){
|
||||||
std::cout << "Line ID " << std::get<0>(*itr) << " visible in range (" <<
|
double start_range = std::get<0>(std::get<1>(*itr));
|
||||||
std::get<0>(std::get<1>(*itr)) <<
|
std::string start_print = std::to_string(start_range);
|
||||||
"," << std::get<1>(std::get<1>(*itr)) << ")" << std::endl;
|
if(start_range == std::numeric_limits<double>::lowest())
|
||||||
|
start_print = "-inf";
|
||||||
|
|
||||||
|
double stop_range = std::get<1>(std::get<1>(*itr));
|
||||||
|
std::string stop_print = std::to_string(stop_range);
|
||||||
|
if(stop_range == std::numeric_limits<double>::max())
|
||||||
|
stop_print = "inf";
|
||||||
|
|
||||||
|
std::cout << "Line ID " << std::get<0>(*itr) << " visible from x=" <<
|
||||||
|
start_print << " to x=" << stop_print << std::endl;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Divide and Conquer Strategy using recursive call to divide ls and merge using merge()
|
//Divide and Conquer Strategy using recursive call to divide ls and merge using merge()
|
||||||
std::set<Line> HL::gen_sol(const std::set<Line>& ls){
|
std::vector<Line> HL::gen_sol(std::vector<Line>& ls){
|
||||||
HL inst = *this;
|
HL inst = *this;
|
||||||
|
auto line_holder = inst.get_map();
|
||||||
|
|
||||||
if (ls.size() > 2){
|
if (ls.size() > 2){
|
||||||
//Create left and right half sets
|
//Create left and right half sets
|
||||||
int split = ceil(ls.size()/2);
|
int split = ceil(ls.size()/2);
|
||||||
std::set<Line> lh;
|
std::vector<Line> lh;
|
||||||
std::set<Line> rh;
|
std::vector<Line> rh;
|
||||||
|
|
||||||
//No index access for sets
|
//No index access for sets
|
||||||
auto end_itr = ls.begin();
|
auto end_itr = ls.begin();
|
||||||
std::advance(end_itr, split);
|
std::advance(end_itr, split);
|
||||||
|
|
||||||
for(auto itr = ls.begin(); itr != end_itr; itr++){
|
for(auto itr = ls.begin(); itr != end_itr; itr++){
|
||||||
lh.insert(*itr);
|
lh.push_back(*itr);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(auto itr = end_itr; itr != ls.end(); itr++){
|
for(auto itr = end_itr; itr != ls.end(); itr++){
|
||||||
rh.insert(*itr);
|
rh.push_back(*itr);
|
||||||
}
|
}
|
||||||
|
std::cout << "Left half is size " << lh.size() << " and right half is size " << rh.size() << std::endl;
|
||||||
|
|
||||||
//Recursive call
|
//Recursive call
|
||||||
auto tmp_sol = merge(inst.gen_sol(lh), inst.gen_sol(rh));
|
auto merged = merge(inst.gen_sol(lh), inst.gen_sol(rh));
|
||||||
|
|
||||||
for (auto itr = tmp_sol.begin(); itr != tmp_sol.end(); itr++){
|
for (auto itr = merged.begin(); itr != merged.end(); itr++){
|
||||||
Line l1 = *itr;
|
Line l1 = *itr;
|
||||||
sol.insert(std::make_pair(l1.get_id(), std::make_pair(l1.get_vis_start(), l1.get_vis_end())));
|
sol.push_back(std::make_pair(l1.get_id(), std::make_pair(l1.get_vis_start(), l1.get_vis_end())));
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<std::pair<double, double>> piecewise;
|
|
||||||
//Cleanup Solution
|
//Cleanup Solution
|
||||||
for(auto itr = sol.begin(); itr != sol.end();){
|
/*
|
||||||
|
std::set<std::pair<int, std::pair<double, double>>> new_sol;
|
||||||
|
for(std::set<std::pair<int, std::pair<double, double>>>::iterator itr = sol.begin(); itr != sol.end(); itr++){
|
||||||
auto start_range = std::get<0>(std::get<1>(*itr));
|
auto start_range = std::get<0>(std::get<1>(*itr));
|
||||||
auto stop_range = std::get<1>(std::get<1>(*itr));
|
auto stop_range = std::get<1>(std::get<1>(*itr));
|
||||||
|
double my_slope = std::get<1>(*line_holder.find(std::get<0>(*itr))).get_slope();
|
||||||
|
int my_id = std::get<0>(*itr);
|
||||||
|
|
||||||
|
if(start_range == stop_range)
|
||||||
|
continue;
|
||||||
|
|
||||||
auto it = std::find_if(piecewise.begin(), piecewise.end(),
|
//Handle overlaps
|
||||||
[start_range](const std::pair<double, double>& p ){ return p.first == start_range; });
|
|
||||||
|
std::set<std::pair<int, std::pair<double, double>>>::iterator it = std::find_if(sol.begin(), sol.end(),
|
||||||
|
[start_range, my_id](const std::pair<int, std::pair<double, double>>& p )
|
||||||
|
{ return (std::get<0>(std::get<1>(p)) == start_range && std::get<0>(p) != my_id); });
|
||||||
|
|
||||||
if (it != piecewise.end()){
|
if (it != sol.end()){
|
||||||
//st.erase(it);
|
double stored_stop = std::get<1>(std::get<1>(*it));
|
||||||
|
double stored_slope = std::get<1>(*line_holder.find(std::get<0>(*it))).get_slope();
|
||||||
|
int stored_id = std::get<0>(*it);
|
||||||
|
|
||||||
|
std::cout << "Matched" << std::endl;
|
||||||
|
//Change lines' vis starts and ends
|
||||||
|
if (my_slope < stored_slope){
|
||||||
|
std::get<1>(*line_holder.find(std::get<0>(*itr))).set_vis_start(start_range);
|
||||||
|
std::get<1>(*line_holder.find(std::get<0>(*itr))).set_vis_end(stored_stop);
|
||||||
|
new_sol.insert(std::make_pair(my_id, std::make_pair(start_range, stored_stop)));
|
||||||
|
|
||||||
|
std::get<1>(*line_holder.find(std::get<0>(*it))).set_vis_start(stored_stop);
|
||||||
|
std::get<1>(*line_holder.find(std::get<0>(*it))).set_vis_end(stop_range);
|
||||||
|
new_sol.insert(std::make_pair(stored_id, std::make_pair(stored_stop, stop_range)));
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
std::get<1>(*line_holder.find(std::get<0>(*it))).set_vis_start(start_range);
|
||||||
|
std::get<1>(*line_holder.find(std::get<0>(*it))).set_vis_end(stored_stop);
|
||||||
|
new_sol.insert(std::make_pair(stored_id, std::make_pair(start_range, stored_stop)));
|
||||||
|
|
||||||
|
std::get<1>(*line_holder.find(std::get<0>(*itr))).set_vis_start(stored_stop);
|
||||||
|
std::get<1>(*line_holder.find(std::get<0>(*itr))).set_vis_end(stop_range);
|
||||||
|
new_sol.insert(std::make_pair(my_id, std::make_pair(stored_stop, stop_range)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (start_range == stop_range){
|
|
||||||
sol.erase(itr);
|
|
||||||
}
|
|
||||||
else{
|
else{
|
||||||
itr++;
|
new_sol.insert(*itr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
inst.set_sol(new_sol);
|
||||||
return tmp_sol;
|
*/
|
||||||
|
return merged;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Set with 2 lines is a base case: both are visible at +-inf respectively, and intersection is where they change
|
//Set with 2 lines is a base case: both are visible at +-inf respectively, and intersection is where they change
|
||||||
@ -86,35 +136,32 @@ std::set<Line> HL::gen_sol(const std::set<Line>& ls){
|
|||||||
Line l2 = *(ls.end());
|
Line l2 = *(ls.end());
|
||||||
double isec = (l2.get_ycept() - l1.get_ycept())/(l1.get_slope() - l2.get_slope());
|
double isec = (l2.get_ycept() - l1.get_ycept())/(l1.get_slope() - l2.get_slope());
|
||||||
|
|
||||||
//Smaller Slope: vis from isec to inf
|
if (l1.get_slope() < l2.get_slope()){
|
||||||
l1.set_vis_start(isec);
|
l1.set_vis_end(isec);
|
||||||
l1.set_vis_end(std::numeric_limits<double>::max());
|
l2.set_vis_start(isec);
|
||||||
|
}
|
||||||
//Greater Slope: vis from -inf to isec
|
else{
|
||||||
l2.set_vis_start(-std::numeric_limits<double>::max());
|
l2.set_vis_end(isec);
|
||||||
l2.set_vis_end(isec);
|
l1.set_vis_start(isec);
|
||||||
|
}
|
||||||
|
|
||||||
//Insert partial solutions
|
//Insert partial solutions
|
||||||
sol.insert(std::make_pair(l1.get_id(), std::make_pair(l1.get_vis_start(), l1.get_vis_end())));
|
sol.push_back(std::make_pair(l1.get_id(), std::make_pair(l1.get_vis_start(), l1.get_vis_end())));
|
||||||
sol.insert(std::make_pair(l2.get_id(), std::make_pair(l2.get_vis_start(), l2.get_vis_end())));
|
sol.push_back(std::make_pair(l2.get_id(), std::make_pair(l2.get_vis_start(), l2.get_vis_end())));
|
||||||
|
|
||||||
return ls;
|
return ls;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Set with 1 line: vis at +-inf
|
//Set with 1 line: Just return
|
||||||
else{
|
else{
|
||||||
auto l1 = *(ls.begin());
|
|
||||||
|
|
||||||
l1.set_vis_start(-std::numeric_limits<double>::max());
|
|
||||||
l1.set_vis_end(std::numeric_limits<double>::max());
|
|
||||||
|
|
||||||
return ls;
|
return ls;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<Line> HL::construct_HWprob(){
|
std::vector<Line> HL::construct_HWprob(){
|
||||||
//Set to hold all our Lines
|
//Set to hold all our Lines
|
||||||
std::set<Line> lines;
|
std::set<Line> sorted_lines;
|
||||||
|
std::vector<Line> lines;
|
||||||
|
|
||||||
//Hold our doubles from each line
|
//Hold our doubles from each line
|
||||||
std::vector<double> tmp_data;
|
std::vector<double> tmp_data;
|
||||||
@ -148,25 +195,48 @@ std::set<Line> HL::construct_HWprob(){
|
|||||||
|
|
||||||
Line newline = Line(slope, ycept);
|
Line newline = Line(slope, ycept);
|
||||||
newline.set_id();
|
newline.set_id();
|
||||||
lines.insert(newline);
|
sorted_lines.insert(newline);
|
||||||
line_holder.insert(std::make_pair(newline.get_id(),newline));
|
lines.push_back(newline);
|
||||||
|
|
||||||
|
auto line_holder = get_map();
|
||||||
|
//line_holder[newline.get_id()] = newline;
|
||||||
|
line_holder.insert(std::pair<int, Line> (newline.get_id(), newline));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Set most neg slope to start range of -inf, and most pos to stop of inf
|
||||||
|
Line lend = *lines.end();
|
||||||
|
Line lbegin = *lines.begin();
|
||||||
|
lend.set_vis_end(std::numeric_limits<double>::max());
|
||||||
|
lbegin.set_vis_start(std::numeric_limits<double>::lowest());
|
||||||
|
|
||||||
|
std::string lend_stop = std::to_string(lend.get_vis_end());
|
||||||
|
std::string lbegin_start = std::to_string(lbegin.get_vis_start());
|
||||||
|
if(lend.get_vis_end() == std::numeric_limits<double>::max())
|
||||||
|
lend_stop = "inf";
|
||||||
|
if(lbegin.get_vis_start() == std::numeric_limits<double>::lowest())
|
||||||
|
lbegin_start = "-inf";
|
||||||
|
|
||||||
std::cout << "---------------Sorted Lines by slope:---------------" << std::endl;
|
std::cout << "---------------Sorted Lines by slope:---------------" << std::endl;
|
||||||
for(Line line : lines)
|
for(Line line : sorted_lines)
|
||||||
{
|
{
|
||||||
std::cout << "Line " << line.get_id() << " has slope " << line.get_slope()
|
std::cout << "Line " << line.get_id() << " has slope " << line.get_slope()
|
||||||
<< " and a y-intercept of " << line.get_ycept() << std::endl;
|
<< " and a y-intercept of " << line.get_ycept() << std::endl;
|
||||||
|
std::cout << "Line " << line.get_id() << " visible from x=" << line.get_vis_start() << " to x=" <<line.get_vis_end() << std::endl;
|
||||||
|
|
||||||
}
|
}
|
||||||
std::cout << "-----------------------------------------------------" << std::endl;
|
std::cout << "-----------------------------------------------------" << std::endl;
|
||||||
|
|
||||||
|
std::cout << "From the sorted lines, we can derive that Line " << lend.get_id() << " is visible from x=" << lend.get_vis_start() <<
|
||||||
|
" to x=" << lend_stop << std::endl;
|
||||||
|
|
||||||
|
std::cout << "From the sorted lines, we can derive that Line " << lbegin.get_id() << " is visible from x=" << lbegin.get_vis_start() <<
|
||||||
|
" to x=" << lbegin.get_vis_end() << std::endl;
|
||||||
|
|
||||||
return lines;
|
return lines;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<Line> merge(std::set<Line> lh, std::set<Line> rh){
|
std::vector<Line> merge(std::vector<Line> lh, std::vector<Line> rh){
|
||||||
std::set<Line> merged;
|
std::vector<Line> merged;
|
||||||
|
|
||||||
auto litr = lh.begin();
|
auto litr = lh.begin();
|
||||||
auto ritr = rh.begin();
|
auto ritr = rh.begin();
|
||||||
@ -179,35 +249,41 @@ std::set<Line> merge(std::set<Line> lh, std::set<Line> rh){
|
|||||||
//Case 1:
|
//Case 1:
|
||||||
if (l1.get_slope() < l2.get_slope()){
|
if (l1.get_slope() < l2.get_slope()){
|
||||||
double isec = (l2.get_ycept() - l1.get_ycept())/(l1.get_slope() - l2.get_slope());
|
double isec = (l2.get_ycept() - l1.get_ycept())/(l1.get_slope() - l2.get_slope());
|
||||||
l1.set_vis_end(isec);
|
if(isec < l1.get_vis_end()){
|
||||||
l2.set_vis_start(isec);
|
l1.set_vis_end(isec);
|
||||||
merged.insert(l1);
|
l2.set_vis_start(isec);
|
||||||
merged.insert(l2);
|
}
|
||||||
|
merged.push_back(l1);
|
||||||
|
merged.push_back(l2);
|
||||||
litr++;
|
litr++;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (l1.get_slope() == l2.get_slope()){
|
else if (l1.get_slope() == l2.get_slope() && l1.get_id() != l2.get_id()){
|
||||||
if (l1.get_ycept() > l2.get_ycept()){
|
if (l1.get_ycept() > l2.get_ycept()){
|
||||||
l2.set_vis_start(0);
|
l2.set_vis_start(0);
|
||||||
l2.set_vis_end(0);
|
l2.set_vis_end(0);
|
||||||
merged.insert(l1);
|
merged.push_back(l1);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
l1.set_vis_start(0);
|
l1.set_vis_start(0);
|
||||||
l2.set_vis_end(0);
|
l1.set_vis_end(0);
|
||||||
merged.insert(l2);
|
merged.push_back(l2);
|
||||||
}
|
}
|
||||||
|
|
||||||
litr++;
|
litr++;
|
||||||
ritr++;
|
ritr++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//lh slope > rh
|
||||||
else{
|
else{
|
||||||
double isec = (l2.get_ycept() - l1.get_ycept())/(l1.get_slope() - l2.get_slope());
|
double isec = (l2.get_ycept() - l1.get_ycept())/(l1.get_slope() - l2.get_slope());
|
||||||
l1.set_vis_start(isec);
|
if(isec < l1.get_vis_start()){
|
||||||
l2.set_vis_end(isec);
|
l1.set_vis_start(isec);
|
||||||
merged.insert(l1);
|
l2.set_vis_end(isec);
|
||||||
merged.insert(l2);
|
}
|
||||||
|
|
||||||
|
merged.push_back(l1);
|
||||||
|
merged.push_back(l2);
|
||||||
ritr++;
|
ritr++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -215,10 +291,15 @@ std::set<Line> merge(std::set<Line> lh, std::set<Line> rh){
|
|||||||
return merged;
|
return merged;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<Line> HL::get_lines() const{
|
std::vector<Line> HL::get_lines() const{
|
||||||
return lines;
|
return lines;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<std::pair<int, std::pair<double, double>>> HL::get_sol() const{
|
std::vector<std::pair<int, std::pair<double, double>>> HL::get_sol() const{
|
||||||
return sol;
|
return sol;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HL::set_sol(std::vector<std::pair<int, std::pair<double, double>>> &new_sol)
|
||||||
|
{
|
||||||
|
sol = new_sol;
|
||||||
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
//Hidden Lines work
|
//Hidden Lines work
|
||||||
|
|
||||||
#include <set>
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
#include "Line.h"
|
#include "Line.h"
|
||||||
|
|
||||||
@ -11,18 +11,20 @@ class HL
|
|||||||
HL();
|
HL();
|
||||||
|
|
||||||
void print_sol();
|
void print_sol();
|
||||||
std::set<Line> gen_sol(const std::set<Line>& ls);
|
std::vector<Line> gen_sol(std::vector<Line>& ls);
|
||||||
std::set<Line> construct_HWprob();
|
std::vector<Line> construct_HWprob();
|
||||||
|
|
||||||
std::set<Line> get_lines() const;
|
std::vector<Line> get_lines() const;
|
||||||
std::set<std::pair<int, std::pair<double, double>>> get_sol() const;
|
std::vector<std::pair<int, std::pair<double, double>>> get_sol() const;
|
||||||
|
void set_sol(std::vector<std::pair<int, std::pair<double, double>>> &new_sol);
|
||||||
|
|
||||||
std::map<int, Line> line_holder;
|
std::map<int, Line> get_map();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//Solution is in form (Line ID, (vis_start, vis_end))
|
//Solution is in form (Line ID, (vis_start, vis_end))
|
||||||
std::set<std::pair<int, std::pair<double, double>>> sol;
|
std::vector<std::pair<int, std::pair<double, double>>> sol;
|
||||||
std::set<Line> lines;
|
std::vector<Line> lines;
|
||||||
|
std::map<int, Line> line_holder;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::set<Line> merge(std::set<Line> lh, std::set<Line> rh);
|
std::vector<Line> merge(std::vector<Line> lh, std::vector<Line> rh);
|
||||||
|
|||||||
@ -11,8 +11,10 @@ Line::Line(double x, double y)
|
|||||||
set_slope(x);
|
set_slope(x);
|
||||||
set_ycept(y);
|
set_ycept(y);
|
||||||
id = 0;
|
id = 0;
|
||||||
set_vis_start(-std::numeric_limits<double>::max());
|
//set_vis_start(-std::numeric_limits<double>::max());
|
||||||
set_vis_end(std::numeric_limits<double>::max());
|
//set_vis_end(std::numeric_limits<double>::max());
|
||||||
|
set_vis_start(0);
|
||||||
|
set_vis_end(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Line::set_slope(double &x)
|
void Line::set_slope(double &x)
|
||||||
|
|||||||
@ -13,8 +13,12 @@ int main(int argc, char *argv[])
|
|||||||
HL inst = HL();
|
HL inst = HL();
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
|
|
||||||
|
Line tmp = *inst.get_lines().end();
|
||||||
|
std::cout << "Line "<< tmp.get_id() << " vis from x=" << tmp.get_vis_start() << " to x=" << tmp.get_vis_end() << std::endl;
|
||||||
|
|
||||||
std::cout << "Generating Solution.\n" << std::endl;
|
std::cout << "Generating Solution.\n" << std::endl;
|
||||||
inst.gen_sol(inst.get_lines());
|
auto lines = inst.get_lines();
|
||||||
|
inst.gen_sol(lines);
|
||||||
|
|
||||||
std::cout << "Solution is: " << std::endl;
|
std::cout << "Solution is: " << std::endl;
|
||||||
inst.print_sol();
|
inst.print_sol();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user