开始计概A下半学期。

This commit is contained in:
rogerwang2008 committed 2026-11-09 21:13:09 +08:00
1 parent 0cfdc8499c
commit 38e97654e1
31 files changed
+2144 -110

No files matched your search

+3 -1
View File
@@ -10,4 +10,6 @@ cmake-build-debug-gcc
!*/
*.dSYM/
**/*.out
**/*.out
_no_compile/DSA_Templates
+553 -44
View File
@@ -21,7 +21,9 @@
</component>
<component name="CMakeRunConfigurationManager">
<generated>
<config projectName="exercises" targetName="cs101__stage_2__dh_16_08_tianji_horse_WRONG" />
<config projectName="exercises" targetName="dsa__ch2_linear_list__dsa_0205_polynomial_addition" />
<config projectName="exercises" targetName="dsa__ch3_stack_queue__template_queue_linear" />
<config projectName="exercises" targetName="cs101__stage_2__dh_11_03_jump_rope" />
<config projectName="exercises" targetName="dsa__ch5_binary_tree__dsa_0514_heap" />
<config projectName="exercises" targetName="pojcs101_T12559_biggest_smallest_combination_WRONG" />
@@ -32,7 +34,10 @@
<config projectName="exercises" targetName="cs101__stage_2__dh_16_01_shit_pair_nums" />
<config projectName="exercises" targetName="cs101__stage_2__dh_14_03_linear_equations_COMPLICATED" />
<config projectName="exercises" targetName="cs101__stage_2__dh_15_03_courage_machine" />
<config projectName="exercises" targetName="cs101__2025mid__exam_2025mid_09_bigfloat" />
<config projectName="exercises" targetName="cs101__stage_2__dh_15_08_matrix_modification" />
<config projectName="exercises" targetName="cs101__2025mid__exam_2025mid_08_wall_dp" />
<config projectName="exercises" targetName="dsa__ch5_binary_tree__dsa_0512_text_binary_tree" />
<config projectName="exercises" targetName="cs101__stage_1__dh_05_05_pair_of_shit_nums_SIEVE" />
<config projectName="exercises" targetName="cs101__stage_2__dh_16_07_observer_stone" />
<config projectName="exercises" targetName="dsa__ch3_stack_queue__dsa_0301_sliding_window_SLOW" />
@@ -46,15 +51,20 @@
<config projectName="exercises" targetName="graph__luogu_P3916_graph_iteration" />
<config projectName="exercises" targetName="cs101__stage_1__dh_03_02_draw_rectangles" />
<config projectName="exercises" targetName="_others__jzh__jzh_c1_h" />
<config projectName="exercises" targetName="dsa__ch6_tree__dsa_0613_tree_conversion" />
<config projectName="exercises" targetName="dp__NOIP1996S_miner_dp_MWASTE" />
<config projectName="exercises" targetName="cs101__2025mid__exam_2025mid_04_bamboo_pole" />
<config projectName="exercises" targetName="cs101__2025mid__exam_2025mid_06_perm" />
<config projectName="exercises" targetName="pojcs101_T01011_sticks" />
<config projectName="exercises" targetName="dsa__ch4_string__luogu_template_kmp_P3375" />
<config projectName="exercises" targetName="cs101__2025mid__exam_2025mid_05_type_cast" />
<config projectName="exercises" targetName="pojcs101_M02431_cows_gas_leak_WRONG" />
<config projectName="exercises" targetName="cs101__stage_1__dh_05_03_different_num" />
<config projectName="exercises" targetName="cs101__stage_2__dh_16_03_arrange_activities" />
<config projectName="exercises" targetName="luogu_P1160_biodir_linked_list" />
<config projectName="exercises" targetName="pojcs101_E01003" />
<config projectName="exercises" targetName="dsa__ch5_binary_tree__luogu_template_huffman_B2168" />
<config projectName="exercises" targetName="JLOI2009_binary_tree" />
<config projectName="exercises" targetName="cs101__stage_3__dh_31_05_sunwukong" />
<config projectName="exercises" targetName="dsa__ch2_linear_list__dsa_0206_binary_query" />
<config projectName="exercises" targetName="cs101__stage_2__dh_13_05_books" />
<config projectName="exercises" targetName="dsa__ch2_linear_list__dsa_0203_string_insertion" />
@@ -67,10 +77,13 @@
<config projectName="exercises" targetName="pojcs101_M02524_ubiquitous_religions_dsu" />
<config projectName="exercises" targetName="dsa__ch5_binary_tree__dsa_0510_reconstruct_tree" />
<config projectName="exercises" targetName="cs101__stage_2__dh_16_02" />
<config projectName="exercises" targetName="cs101__stage_3__dh_31_03_is_palindromic" />
<config projectName="exercises" targetName="cs101__stage_pre__dh_00_15_jusephus" />
<config projectName="exercises" targetName="cs101__stage_2__dh_15_02_tiny_kmp" />
<config projectName="exercises" targetName="exercises" />
<config projectName="exercises" targetName="dp__SHOI2002_ski_dp" />
<config projectName="exercises" targetName="cs101__stage_3__dh_31_06_legendre_polynomials_dp" />
<config projectName="exercises" targetName="dsa__ch4_string__template_kmp_elegent" />
<config projectName="exercises" targetName="pojcs101_M01852_ants_falling" />
<config projectName="exercises" targetName="cs101__stage_1__dh_01_04" />
<config projectName="exercises" targetName="cs101__stage_2__dh_14_02_special_location" />
@@ -90,8 +103,10 @@
<config projectName="exercises" targetName="_others__others_test_cpp" />
<config projectName="exercises" targetName="cs101__stage_2__dh_12_05_iter_hui" />
<config projectName="exercises" targetName="cs101__dh_20260909_11_count_digits" />
<config projectName="exercises" targetName="cs101__2025mid__exam_2025mid_02_mock_exam" />
<config projectName="exercises" targetName="cs101__stage_1__dh_01_05_vote" />
<config projectName="exercises" targetName="cs101__stage_pre__dh_00_14_encryption" />
<config projectName="exercises" targetName="cs101__2025mid__exam_2025mid_07_op" />
<config projectName="exercises" targetName="cs101__stage_1__dh_05_05_pair_of_shit_nums" />
<config projectName="exercises" targetName="cs101__stage_2__dh_11_01_change" />
<config projectName="exercises" targetName="pojcs101_M01328_radar_greedy_WRONG" />
@@ -107,9 +122,11 @@
<config projectName="exercises" targetName="dsa__ch2_linear_list__dsa_0217_magic_square" />
<config projectName="exercises" targetName="cs101__stage_2__dh_12_04_date_delta" />
<config projectName="exercises" targetName="cs101__stage_2__dh_11_02_shit_num" />
<config projectName="exercises" targetName="dsa__ch7_graph__template_adjacent_list" />
<config projectName="exercises" targetName="dsa__ch4_string__dsa_0404_string_loop" />
<config projectName="exercises" targetName="cs101__stage_2__dh_15_07_char_stat" />
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE" />
<config projectName="exercises" targetName="cs101__2025mid__exam_2025mid_03_clinic_sort" />
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack" />
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG" />
<config projectName="exercises" targetName="cs101__stage_2__dh_14_01_day_of_date" />
@@ -125,27 +142,33 @@
<config projectName="exercises" targetName="cs101__2023mid__exam_2023mid_05_mask" />
<config projectName="exercises" targetName="cs101__stage_2__dh_13_01_max_points_WRONG" />
<config projectName="exercises" targetName="cs101__stage_2__dh_12_06_big_binary_addition" />
<config projectName="exercises" targetName="cs101__stage_3__dh_31_02_lcm" />
<config projectName="exercises" targetName="dsa__ch3_stack_queue__USACO12MARs_flowerpot_WRONG" />
<config projectName="exercises" targetName="dsa__ch2_linear_list__dsa_0204_prefix_cycle" />
<config projectName="exercises" targetName="NOIP2003J_bigint" />
<config projectName="exercises" targetName="cs101__stage_2__dh_15_05_clinic_queue" />
<config projectName="exercises" targetName="cs101__2025mid__exam_2025mid_01_digits" />
<config projectName="exercises" targetName="pojcs101_M01922_ride_follower" />
<config projectName="exercises" targetName="luogu_template_dsu_P3367" />
<config projectName="exercises" targetName="dsa__ch3_stack_queue__dsa_0302_calculator" />
<config projectName="exercises" targetName="pojcs101_M03532" />
<config projectName="exercises" targetName="dsa__ch5_binary_tree__luogu_P4715_matches" />
<config projectName="exercises" targetName="cs101__stage_pre__dh_00_12_bottle_exchange" />
<config projectName="exercises" targetName="cs101__stage_3__dh_31_04_kakutani_guess" />
<config projectName="exercises" targetName="pojcs101_M01321_chest_grid" />
<config projectName="exercises" targetName="cs101__stage_pre__dh_00_10_smaller_numbers" />
<config projectName="exercises" targetName="cs101__stage_1__dh_01_01" />
<config projectName="exercises" targetName="cs101__stage_1__dh_03_01_bike_or_walk" />
<config projectName="exercises" targetName="pojcs101_T04117_split_int" />
<config projectName="exercises" targetName="dsa__ch6_tree__dsa_0603_crime_gangs" />
<config projectName="exercises" targetName="dsa__ch4_string__template_kmp_standard_next" />
<config projectName="exercises" targetName="pojcs101_M01002_memorable_number" />
<config projectName="exercises" targetName="cs101__stage_1__dh_01_02_subway" />
<config projectName="exercises" targetName="cs101__stage_2__dh_13_02_tumor_again" />
<config projectName="exercises" targetName="dsa__ch5_binary_tree__luogu_T750119_bin_tree_iter" />
<config projectName="exercises" targetName="pojcs101_M03247_palindromic_prime" />
<config projectName="exercises" targetName="SHOI2002_ski" />
<config projectName="exercises" targetName="cs101__stage_3__dh_31_01_teeth_dp" />
<config projectName="exercises" targetName="pojcs101_E01218" />
<config projectName="exercises" targetName="dp__NOIP1996S_miner_dp" />
<config projectName="exercises" targetName="cs101__stage_pre__dh_00_05_sum_fractions" />
@@ -162,6 +185,7 @@
<config projectName="exercises" targetName="cs101__stage_2__dh_13_06_nums_in_string" />
<config projectName="exercises" targetName="_others__others_test" />
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE_BETTER" />
<config projectName="exercises" targetName="dsa__ch5_binary_tree__dsa_0509_expression_tree" />
<config projectName="exercises" targetName="cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId" />
<config projectName="exercises" targetName="dp__eagle_egg" />
<config projectName="exercises" targetName="lc_135_candy" />
@@ -171,41 +195,204 @@
<config projectName="exercises" targetName="dsa__ch4_string__dsa_0403_within_string" />
<config projectName="exercises" targetName="cs101__stage_2__dh_13_01_max_points" />
<config projectName="exercises" targetName="graph__USACO06DECs_cow_picnic" />
<config projectName="exercises" targetName="dsa__ch7_graph__template_chained_forward_stare" />
</generated>
</component>
<component name="CMakeSettings" AUTO_RELOAD="true">
<configurations />
</component>
<component name="ChangeListManager">
<list default="true" id="4491295e-723c-4e0b-b7b4-9be1cbde5db8" name="更改" comment="数算!">
<change afterPath="$PROJECT_DIR$/cs101/2023mid/exam_2023mid_05_mask.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_14_01_day_of_date.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_14_02_special_location.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_14_03_linear_equations.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_14_03_linear_equations_COMPLICATED.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_14_04_eat.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_14_05_flip_words.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_14_06_number_systems.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_15_01_is_abbr.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_15_02_tiny_kmp.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_15_03_courage_machine.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_15_04_related_months.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_15_05_clinic_queue.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_15_06_pass_balls.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_15_07_char_stat.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_15_08_matrix_modification.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_16_01_shit_pair_nums.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_16_02.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_16_03_arrange_activities.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_16_06_line_wrap.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_16_07_observer_stone.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_16_08_tianji_horse.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_2/dh_16_08_tianji_horse_WRONG.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/dsa/ch5_binary_tree/dsa_0514_heap.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/dsa/ch5_binary_tree/dsa_0514_heap_STL.cpp" afterDir="false" />
<list default="true" id="4491295e-723c-4e0b-b7b4-9be1cbde5db8" name="更改" comment="开始计概A下半学期。">
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/BitSet/bag.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/BitSet/setm.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/BitSet/test.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/COMPARE.H" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/algor1-3/algor1&amp;2.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/algor1-3/algor1&amp;2.dsp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/algor1-3/algor1&amp;2.dsw" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_dict/HASHDICT.CPP" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_dict/HASHDICT.DSP" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_dict/HASHDICT.DSW" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_dict/HASHDICT.H" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_dict/Int.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_tomb/HASHDICT.CPP" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_tomb/HASHDICT.DSP" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_tomb/HASHDICT.DSW" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_tomb/HASHDICT.H" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_tomb/Int.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_tomb2/HASHDICT.CPP" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_tomb2/HASHDICT.DSP" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_tomb2/HASHDICT.DSW" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_tomb2/HASHDICT.H" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap10_Search/hash_tomb2/Int.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/GenList/Example.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/GenList/GenFunction.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/GenList/GenList.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/GenList/广义表.dsp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/GenList/广义表.dsw" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/GenList_ReEntrant/Example.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/GenList_ReEntrant/GenFunction.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/GenList_ReEntrant/GenList.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/GenList_ReEntrant/广义表.dsp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/GenList_ReEntrant/广义表.dsw" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/SparseMatrix/Example.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/SparseMatrix/SMatrix.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/SparseMatrix/稀疏矩阵.dsp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvList/SparseMatrix/稀疏矩阵.dsw" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvTree/AVLTree/AVLNode.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvTree/AVLTree/AVLTree.dsp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvTree/AVLTree/AVLTree.dsw" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvTree/AVLTree/AVLTree.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvTree/AVLTree/Example.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvTree/BestBST/OptimalBST.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvTree/SplayTree/Splay.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvTree/SplayTree/splay.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvTree/SplayTree/splay.dsp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap12_AdvDS/AdvTree/SplayTree/splay.dsw" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/AddSort_Insert.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/BubSort.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/BucketSort.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/HeapSort/HeapSort.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/HeapSort/MaxHeap.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/InsSort.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/MergeSort/MergeSort.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/MergeSort/ModMergeSort.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/QuickSort/ModQuickSort.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/QuickSort/QuickSort.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/RadixSort/LinkRadixSort.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/RadixSort/LinkRadixSort.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/RadixSort/LinkSort.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/RadixSort/LinkSortMain.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/RadixSort/RadixSort_Bin.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/SelSort.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/ShellSort/ShSort2.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/ShellSort/ShSort3.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/SortMain.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/Chap8_Sort/sort.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap1_Intro/alg1.1/Floyd.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap1_Intro/alg1.1/Graph.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap1_Intro/alg1.1/Graphm.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap1_Intro/alg1.1/stockbroker.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap2_LinearList/alg2.1-5/arrList.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap2_LinearList/alg2.1-5/lnkList.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap2_LinearList/alg2.1-5/main.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap2_LinearList/alg2.1-5/myList.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap2_LinearList/alg2.6-11/lnkList.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap2_LinearList/alg2.6-11/main.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap2_LinearList/alg2.6-11/myList.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.12/Link.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.12/lnkQueue.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.12/main.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.12/myQueue.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.12/queue.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.13-14/arrQueue.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.13-14/lnkQueue.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.13-14/main.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.13-14/myQueue.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.4/Link.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.4/lnkstack.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.4/main.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.4/myStack.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.5/arrStack.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.5/calc.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.5/main.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.5/myStack.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.6-8/arrStack.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.6-8/fact.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.6-8/myStack.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.9-11/arrStack.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.9-11/knap1.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap3_StackQueue/alg3.9-11/myStack.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap4_String/alg3/strcmp.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap4_String/alg4-5/main.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap4_String/alg4-5/myString.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap4_String/alg6/main.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap4_String/alg6/naive.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap4_String/alg7-8/kmp.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap4_String/alg7-8/main-kmp.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg1-8BinaryTree/BinaryTree.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg1-8BinaryTree/BinaryTree.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg1-8BinaryTree/BinaryTreeNode.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg11MinHeap/MinHeap.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg11MinHeap/MinHeap.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg12HuffmanTree/HuffmanTree.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg12HuffmanTree/HuffmanTree.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg12HuffmanTree/MinHeap.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg9-10binarysearchtree/BinarySearchTree.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg9-10binarysearchtree/BinaryTree.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg9-10binarysearchtree/BinaryTreeNode.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap5_BinaryTree/alg9-10binarysearchtree/binarysearchtree.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap6_Tree/DualTagFirstroot(alg6_10)/dualtagtree_firstroot.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap6_Tree/DualTagWidth(alg6_11)/dualtagtree_Width.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap6_Tree/tree(alg_1-7)/Tree.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap6_Tree/tree(alg_1-7)/TreeNode.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap6_Tree/tree(alg_1-7)/tree.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap6_Tree/unionfind(alg_8-9)/ParTree.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap6_Tree/unionfind(alg_8-9)/ParTreeNode.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap6_Tree/unionfind(alg_8-9)/unionfind.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Dijkstra/Dijkstra.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Dijkstra/Graph_matrix.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Dijkstra/MinHeap.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Floyd/Floyd.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Floyd/Graph.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Floyd/Graphm.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Kruskal/Graph.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Kruskal/Graphm.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Kruskal/Kruskal.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Kruskal/MinHeap.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Kruskal/ParTree.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Link/Graph.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Link/Graphl.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Link/link.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Prim/Graph.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Prim/Graphm.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/Graph_Prim/Prim.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/TopologicalSorting/Graph.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/TopologicalSorting/Graphm.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/TopologicalSorting/topological_sorting.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/graph_matrix/Graph.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/graph_matrix/Graphm.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap7_Graph/graph_matrix/matrix.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap9_ExternalSort/alg9_1 replacementSelection/Buffer.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap9_ExternalSort/alg9_1 replacementSelection/MinHeap.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap9_ExternalSort/alg9_1 replacementSelection/ReplacementSelection.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap9_ExternalSort/alg9_1 replacementSelection/file_in.txt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap9_ExternalSort/alg9_1 replacementSelection/file_out.txt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap9_ExternalSort/alg9_2WinnerTree/WinnerTree.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap9_ExternalSort/alg9_2WinnerTree/WinnerTree.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap9_ExternalSort/alg9_3LoserTree/LoserTree.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/_no_compile/DSA_Templates/chap9_ExternalSort/alg9_3LoserTree/LoserTree.h" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/2025mid/exam_2025mid_01_digits.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/2025mid/exam_2025mid_02_mock_exam.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/2025mid/exam_2025mid_03_clinic_sort.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/2025mid/exam_2025mid_04_bamboo_pole.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/2025mid/exam_2025mid_05_type_cast.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/2025mid/exam_2025mid_06_perm.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/2025mid/exam_2025mid_07_op.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/2025mid/exam_2025mid_08_wall_dp.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/2025mid/exam_2025mid_09_bigfloat.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_3/dh_31_01_teeth_dp.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_3/dh_31_02_lcm.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_3/dh_31_03_is_palindromic.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_3/dh_31_04_kakutani_guess.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_3/dh_31_05_sunwukong.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cs101/stage_3/dh_31_06_legendre_polynomials_dp.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/dsa/ch3_stack_queue/template_queue_linear.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/dsa/ch4_string/template_kmp_elegent.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/dsa/ch5_binary_tree/dsa_0509_expression_tree.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/dsa/ch5_binary_tree/dsa_0512_text_binary_tree.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/dsa/ch5_binary_tree/luogu_template_huffman_B2168.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/dsa/ch6_tree/dsa_0603_crime_gangs.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/dsa/ch6_tree/dsa_0613_tree_conversion.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/dsa/ch7_graph/template_adjacent_list.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/dsa/ch7_graph/template_chained_forward_stare.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/CMakeLists.txt" beforeDir="false" afterPath="$PROJECT_DIR$/CMakeLists.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/_others/others_test.c" beforeDir="false" afterPath="$PROJECT_DIR$/_others/others_test.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/_others/others_test_cpp.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/_others/others_test_cpp.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cs101/stage_2/dh_12_04_day_delta.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/cs101/stage_2/dh_12_04_date_delta.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/dsa/ch4_string/luogu_template_kmp_P3375.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/dsa/ch4_string/template_kmp_standard_next.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pojcs101_T04117_split_int.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/pojcs101_T04117_split_int.cpp" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -238,6 +425,7 @@
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="HighlightingSettingsPerFile">
<setting file="file://$PROJECT_DIR$/_no_compile/DSA_Templates/chap6_Tree/unionfind(alg_8-9)/ParTree.h" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/_others/others_test.c" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/cs101/stage_1/dh_05_05_pair_of_shit_nums_SIEVE.cpp" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/cs101/stage_2/dh_12_04_date_delta.cpp" root0="FORCE_HIGHLIGHTING" />
@@ -307,6 +495,13 @@
"CMake 应用程序._others__jzh__jzh_c1_h.executor": "Run",
"CMake 应用程序._others__others_test.executor": "Run",
"CMake 应用程序._others__others_test_cpp.executor": "Run",
"CMake 应用程序.cs101__2025mid__exam_2025mid_02_mock_exam.executor": "Run",
"CMake 应用程序.cs101__2025mid__exam_2025mid_03_clinic_sort.executor": "Run",
"CMake 应用程序.cs101__2025mid__exam_2025mid_05_type_cast.executor": "Run",
"CMake 应用程序.cs101__2025mid__exam_2025mid_06_perm.executor": "Run",
"CMake 应用程序.cs101__2025mid__exam_2025mid_07_op.executor": "Run",
"CMake 应用程序.cs101__2025mid__exam_2025mid_08_wall_dp.executor": "Run",
"CMake 应用程序.cs101__2025mid__exam_2025mid_09_bigfloat.executor": "Run",
"CMake 应用程序.cs101__dh_05_01_newton_sqrt.executor": "Run",
"CMake 应用程序.cs101__dh_05_02_three_nums.executor": "Run",
"CMake 应用程序.cs101__dh_05_04_fried_chicken.executor": "Run",
@@ -362,6 +557,11 @@
"CMake 应用程序.cs101__stage_2__dh_16_05_line_wrap.executor": "Run",
"CMake 应用程序.cs101__stage_2__dh_16_07_observer_stone.executor": "Run",
"CMake 应用程序.cs101__stage_2__dh_16_08_tianji_horse.executor": "Run",
"CMake 应用程序.cs101__stage_3__dh_31_01_teeth_dp.executor": "Run",
"CMake 应用程序.cs101__stage_3__dh_31_02_lcm.executor": "Run",
"CMake 应用程序.cs101__stage_3__dh_31_03_is_palindromic.executor": "Run",
"CMake 应用程序.cs101__stage_3__dh_31_05_sunwukong.executor": "Debug",
"CMake 应用程序.cs101__stage_3__dh_31_06_legendre_polynomials_dp.executor": "Debug",
"CMake 应用程序.dp__TJOI2007_walk_segments_dp.executor": "Run",
"CMake 应用程序.dp__luogu_U434718_eagle_egg.executor": "Run",
"CMake 应用程序.dsa__ch2_linear_list__P2629_good_news.executor": "Run",
@@ -375,10 +575,16 @@
"CMake 应用程序.dsa__ch4_string__dsa_0404_string_loop.executor": "Run",
"CMake 应用程序.dsa__ch4_string__dsa_0406_valid_string.executor": "Run",
"CMake 应用程序.dsa__ch4_string__luogu_template_kmp_P3375.executor": "Run",
"CMake 应用程序.dsa__ch4_string__template_kmp_standard_next.executor": "Run",
"CMake 应用程序.dsa__ch5_binary_tree__dsa_0509_expression_tree.executor": "Run",
"CMake 应用程序.dsa__ch5_binary_tree__dsa_0510_reconstruct_tree.executor": "Run",
"CMake 应用程序.dsa__ch5_binary_tree__dsa_0512_text_binary_tree.executor": "Run",
"CMake 应用程序.dsa__ch5_binary_tree__dsa_0514_heap_STL.executor": "Run",
"CMake 应用程序.dsa__ch5_binary_tree__luogu_P4715_matches.executor": "Run",
"CMake 应用程序.dsa__ch5_binary_tree__luogu_T750119_bin_tree_iter.executor": "Run",
"CMake 应用程序.dsa__ch5_binary_tree__luogu_template_huffman_B2168.executor": "Run",
"CMake 应用程序.dsa__ch6_tree__dsa_0603_crime_gangs.executor": "Debug",
"CMake 应用程序.dsa__ch6_tree__dsa_0613_tree_conversion.executor": "Run",
"CMake 应用程序.dsa__linear_list__dsa_0201_dictionary.executor": "Run",
"CMake 应用程序.dsa__linear_list__dsa_0202_card_stacking.executor": "Run",
"CMake 应用程序.dsa__linear_list__dsa_0204_prefix_cycle.executor": "Run",
@@ -426,7 +632,7 @@
"codeWithMe.voiceChat.enabledByDefault": "false",
"deletionFromPopupRequiresConfirmation": "false",
"git-widget-placeholder": "main",
"last_opened_file_path": "/Users/roger/coding/exercises/cs101/stage_2",
"last_opened_file_path": "/Users/roger/coding/exercises/_others",
"leon.ai.report.branch": "main",
"leon.t.first": "low",
"leon.t.source": "auto",
@@ -436,7 +642,7 @@
"nodejs_package_manager_path": "npm",
"org.rust.first.attach.projects": "true",
"python.packages.toolwindow.project.migrated.to.right.top.v2": "true",
"settings.editor.selected.configurable": "preferences.keymap"
"settings.editor.selected.configurable": "fileTemplates"
}
}]]></component>
<component name="PyDebuggerOptionsProvider">
@@ -444,21 +650,21 @@
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/_others" />
<recent name="$PROJECT_DIR$/dsa/ch4_string" />
<recent name="$PROJECT_DIR$/cs101/stage_2" />
<recent name="$PROJECT_DIR$/cs101" />
<recent name="$PROJECT_DIR$/dsa/ch3_stack_queue" />
<recent name="$PROJECT_DIR$/_others/jzh" />
<recent name="$PROJECT_DIR$/graph" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/_no_compile" />
<recent name="$PROJECT_DIR$/cs101/stage_2" />
<recent name="$PROJECT_DIR$/cs101/stage_0" />
<recent name="$PROJECT_DIR$/cs101/stage_1" />
<recent name="$PROJECT_DIR$" />
<recent name="$PROJECT_DIR$/graph" />
</key>
</component>
<component name="RunManager" selected="CMake 应用程序.cs101__stage_2__dh_16_08_tianji_horse">
<component name="RunManager" selected="CMake 应用程序.cs101__stage_3__dh_31_06_legendre_polynomials_dp">
<configuration default="true" type="CMakeBoostTestRunConfigurationType" factoryName="Boost Test" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" TEST_MODE="SUITE_TEST">
<method v="2">
<option name="BeforeTestRunTask" enabled="true" />
@@ -549,6 +755,51 @@
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__2025mid__exam_2025mid_01_digits" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__2025mid__exam_2025mid_01_digits" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__2025mid__exam_2025mid_01_digits">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__2025mid__exam_2025mid_02_mock_exam" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__2025mid__exam_2025mid_02_mock_exam" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__2025mid__exam_2025mid_02_mock_exam">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__2025mid__exam_2025mid_03_clinic_sort" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__2025mid__exam_2025mid_03_clinic_sort" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__2025mid__exam_2025mid_03_clinic_sort">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__2025mid__exam_2025mid_04_bamboo_pole" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__2025mid__exam_2025mid_04_bamboo_pole" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__2025mid__exam_2025mid_04_bamboo_pole">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__2025mid__exam_2025mid_05_type_cast" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__2025mid__exam_2025mid_05_type_cast" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__2025mid__exam_2025mid_05_type_cast">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__2025mid__exam_2025mid_06_perm" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__2025mid__exam_2025mid_06_perm" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__2025mid__exam_2025mid_06_perm">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__2025mid__exam_2025mid_07_op" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__2025mid__exam_2025mid_07_op" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__2025mid__exam_2025mid_07_op">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__2025mid__exam_2025mid_08_wall_dp" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__2025mid__exam_2025mid_08_wall_dp" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__2025mid__exam_2025mid_08_wall_dp">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__2025mid__exam_2025mid_09_bigfloat" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__2025mid__exam_2025mid_09_bigfloat" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__2025mid__exam_2025mid_09_bigfloat">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__dh_20260909_11_count_digits_CACHED" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__dh_20260909_11_count_digits_CACHED" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__dh_20260909_11_count_digits_CACHED">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
@@ -834,6 +1085,41 @@
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__stage_2__dh_16_08_tianji_horse_WRONG" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__stage_2__dh_16_08_tianji_horse_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__stage_2__dh_16_08_tianji_horse_WRONG">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__stage_3__dh_31_01_teeth_dp" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__stage_3__dh_31_01_teeth_dp" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__stage_3__dh_31_01_teeth_dp">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__stage_3__dh_31_02_lcm" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__stage_3__dh_31_02_lcm" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__stage_3__dh_31_02_lcm">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__stage_3__dh_31_03_is_palindromic" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__stage_3__dh_31_03_is_palindromic" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__stage_3__dh_31_03_is_palindromic">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__stage_3__dh_31_04_kakutani_guess" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__stage_3__dh_31_04_kakutani_guess" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__stage_3__dh_31_04_kakutani_guess">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__stage_3__dh_31_05_sunwukong" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__stage_3__dh_31_05_sunwukong" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__stage_3__dh_31_05_sunwukong">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__stage_3__dh_31_06_legendre_polynomials_dp" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__stage_3__dh_31_06_legendre_polynomials_dp" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__stage_3__dh_31_06_legendre_polynomials_dp">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cs101__stage_pre__dh_00_05_sum_fractions" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="cs101__stage_pre__dh_00_05_sum_fractions" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cs101__stage_pre__dh_00_05_sum_fractions">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
@@ -999,6 +1285,11 @@
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch3_stack_queue__template_queue_linear" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch3_stack_queue__template_queue_linear" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch3_stack_queue__template_queue_linear">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch4_string__dsa_0403_within_string" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch4_string__dsa_0403_within_string" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch4_string__dsa_0403_within_string">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
@@ -1014,7 +1305,17 @@
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch4_string__luogu_template_kmp_P3375" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch4_string__luogu_template_kmp_P3375" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch4_string__luogu_template_kmp_P3375">
<configuration name="dsa__ch4_string__template_kmp_elegent" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch4_string__template_kmp_elegent" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch4_string__template_kmp_elegent">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch4_string__template_kmp_standard_next" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch4_string__template_kmp_standard_next" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch4_string__template_kmp_standard_next">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch5_binary_tree__dsa_0509_expression_tree" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch5_binary_tree__dsa_0509_expression_tree" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch5_binary_tree__dsa_0509_expression_tree">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
@@ -1024,6 +1325,11 @@
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch5_binary_tree__dsa_0512_text_binary_tree" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch5_binary_tree__dsa_0512_text_binary_tree" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch5_binary_tree__dsa_0512_text_binary_tree">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch5_binary_tree__dsa_0514_heap" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch5_binary_tree__dsa_0514_heap" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch5_binary_tree__dsa_0514_heap">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
@@ -1044,6 +1350,31 @@
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch5_binary_tree__luogu_template_huffman_B2168" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch5_binary_tree__luogu_template_huffman_B2168" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch5_binary_tree__luogu_template_huffman_B2168">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch6_tree__dsa_0603_crime_gangs" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch6_tree__dsa_0603_crime_gangs" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch6_tree__dsa_0603_crime_gangs">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch6_tree__dsa_0613_tree_conversion" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch6_tree__dsa_0613_tree_conversion" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch6_tree__dsa_0613_tree_conversion">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch7_graph__template_adjacent_list" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch7_graph__template_adjacent_list" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch7_graph__template_adjacent_list">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__ch7_graph__template_chained_forward_stare" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="dsa__ch7_graph__template_chained_forward_stare" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__ch7_graph__template_chained_forward_stare">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="graph__ECNA2001_sort_letters" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="graph__ECNA2001_sort_letters" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="graph__ECNA2001_sort_letters">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
@@ -1328,6 +1659,15 @@
<item itemvalue="CMake 应用程序._others__others_test_cpp" />
<item itemvalue="CMake 应用程序.cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId" />
<item itemvalue="CMake 应用程序.cs101__2023mid__exam_2023mid_05_mask" />
<item itemvalue="CMake 应用程序.cs101__2025mid__exam_2025mid_01_digits" />
<item itemvalue="CMake 应用程序.cs101__2025mid__exam_2025mid_02_mock_exam" />
<item itemvalue="CMake 应用程序.cs101__2025mid__exam_2025mid_03_clinic_sort" />
<item itemvalue="CMake 应用程序.cs101__2025mid__exam_2025mid_04_bamboo_pole" />
<item itemvalue="CMake 应用程序.cs101__2025mid__exam_2025mid_05_type_cast" />
<item itemvalue="CMake 应用程序.cs101__2025mid__exam_2025mid_06_perm" />
<item itemvalue="CMake 应用程序.cs101__2025mid__exam_2025mid_07_op" />
<item itemvalue="CMake 应用程序.cs101__2025mid__exam_2025mid_08_wall_dp" />
<item itemvalue="CMake 应用程序.cs101__2025mid__exam_2025mid_09_bigfloat" />
<item itemvalue="CMake 应用程序.cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdC__CMakeCCompilerId" />
<item itemvalue="CMake 应用程序.cs101__dh_20260909_11_count_digits_CACHED" />
<item itemvalue="CMake 应用程序.cs101__stage_1__dh_01_01" />
@@ -1386,6 +1726,13 @@
<item itemvalue="CMake 应用程序.cs101__stage_2__dh_16_06_line_wrap" />
<item itemvalue="CMake 应用程序.cs101__stage_2__dh_16_07_observer_stone" />
<item itemvalue="CMake 应用程序.cs101__stage_2__dh_16_08_tianji_horse" />
<item itemvalue="CMake 应用程序.cs101__stage_2__dh_16_08_tianji_horse_WRONG" />
<item itemvalue="CMake 应用程序.cs101__stage_3__dh_31_01_teeth_dp" />
<item itemvalue="CMake 应用程序.cs101__stage_3__dh_31_02_lcm" />
<item itemvalue="CMake 应用程序.cs101__stage_3__dh_31_03_is_palindromic" />
<item itemvalue="CMake 应用程序.cs101__stage_3__dh_31_04_kakutani_guess" />
<item itemvalue="CMake 应用程序.cs101__stage_3__dh_31_05_sunwukong" />
<item itemvalue="CMake 应用程序.cs101__stage_3__dh_31_06_legendre_polynomials_dp" />
<item itemvalue="CMake 应用程序.cs101__stage_pre__dh_00_05_sum_fractions" />
<item itemvalue="CMake 应用程序.cs101__stage_pre__dh_00_10_smaller_numbers" />
<item itemvalue="CMake 应用程序.cs101__stage_pre__dh_00_12_bottle_exchange" />
@@ -1419,15 +1766,24 @@
<item itemvalue="CMake 应用程序.dsa__ch3_stack_queue__dsa_0302_calculator_WRONG" />
<item itemvalue="CMake 应用程序.dsa__ch3_stack_queue__dsa_0302_calculator" />
<item itemvalue="CMake 应用程序.dsa__ch3_stack_queue__dsa_0306_stack_operation" />
<item itemvalue="CMake 应用程序.dsa__ch3_stack_queue__template_queue_linear" />
<item itemvalue="CMake 应用程序.dsa__ch4_string__dsa_0403_within_string" />
<item itemvalue="CMake 应用程序.dsa__ch4_string__dsa_0404_string_loop" />
<item itemvalue="CMake 应用程序.dsa__ch4_string__dsa_0406_valid_string" />
<item itemvalue="CMake 应用程序.dsa__ch4_string__luogu_template_kmp_P3375" />
<item itemvalue="CMake 应用程序.dsa__ch4_string__template_kmp_elegent" />
<item itemvalue="CMake 应用程序.dsa__ch4_string__template_kmp_standard_next" />
<item itemvalue="CMake 应用程序.dsa__ch5_binary_tree__dsa_0509_expression_tree" />
<item itemvalue="CMake 应用程序.dsa__ch5_binary_tree__dsa_0510_reconstruct_tree" />
<item itemvalue="CMake 应用程序.dsa__ch5_binary_tree__dsa_0512_text_binary_tree" />
<item itemvalue="CMake 应用程序.dsa__ch5_binary_tree__dsa_0514_heap" />
<item itemvalue="CMake 应用程序.dsa__ch5_binary_tree__dsa_0514_heap_STL" />
<item itemvalue="CMake 应用程序.dsa__ch5_binary_tree__luogu_P4715_matches" />
<item itemvalue="CMake 应用程序.dsa__ch5_binary_tree__luogu_T750119_bin_tree_iter" />
<item itemvalue="CMake 应用程序.dsa__ch5_binary_tree__luogu_template_huffman_B2168" />
<item itemvalue="CMake 应用程序.dsa__ch6_tree__dsa_0603_crime_gangs" />
<item itemvalue="CMake 应用程序.dsa__ch6_tree__dsa_0613_tree_conversion" />
<item itemvalue="CMake 应用程序.dsa__ch7_graph__template_adjacent_list" />
<item itemvalue="CMake 应用程序.dsa__ch7_graph__template_chained_forward_stare" />
<item itemvalue="CMake 应用程序.graph__ECNA2001_sort_letters" />
<item itemvalue="CMake 应用程序.graph__USACO06DECs_cow_picnic" />
<item itemvalue="CMake 应用程序.graph__luogu_P3916_graph_iteration_WRONG" />
@@ -1496,6 +1852,13 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.pojcs101_T04117_split_int",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch3_stack_queue__dsa_0301_sliding_window_SLOW",
@@ -1566,6 +1929,13 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__2025mid__exam_2025mid_09_bigfloat",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__stage_2__dh_16_08_tianji_horse",
@@ -1580,6 +1950,13 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch5_binary_tree__luogu_template_huffman_B2168",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__stage_2__dh_14_03_linear_equations",
@@ -1595,7 +1972,7 @@
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch4_string__luogu_template_kmp_P3375",
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch6_tree__dsa_0603_crime_gangs",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
@@ -1635,6 +2012,13 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__stage_3__dh_31_06_legendre_polynomials_dp",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__stage_2__dh_16_07_observer_stone",
@@ -1656,6 +2040,13 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__stage_3__dh_31_01_teeth_dp",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.NOIP2003J_bigint",
@@ -1670,6 +2061,27 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch6_tree__dsa_0613_tree_conversion",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch4_string__template_kmp_standard_next",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__2025mid__exam_2025mid_05_type_cast",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序._others__others_test",
@@ -1698,6 +2110,13 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__stage_3__dh_31_03_is_palindromic",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch4_string__dsa_0404_string_loop",
@@ -1726,6 +2145,20 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__2025mid__exam_2025mid_03_clinic_sort",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch5_binary_tree__dsa_0509_expression_tree",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch5_binary_tree__dsa_0510_reconstruct_tree",
@@ -1740,6 +2173,13 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__stage_3__dh_31_02_lcm",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.graph__USACO06DECs_cow_picnic",
@@ -1775,6 +2215,27 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__2025mid__exam_2025mid_07_op",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch5_binary_tree__dsa_0512_text_binary_tree",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__2025mid__exam_2025mid_02_mock_exam",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.JLOI2009_binary_tree",
@@ -1788,6 +2249,20 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__stage_3__dh_31_05_sunwukong",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__2025mid__exam_2025mid_08_wall_dp",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch2_linear_list__SDOI2007_queue",
@@ -1816,6 +2291,13 @@
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.cs101__2025mid__exam_2025mid_06_perm",
"cmake": "CMakeBuildProfile:Debug-GCC"
},
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
},
{
"first": {
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__ch5_binary_tree__luogu_T750119_bin_tree_iter",
@@ -1866,7 +2348,7 @@
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
}
],
"modificationCount": 273
"modificationCount": 308
}]]></component>
<component name="SharedIndexes">
<attachedChunks>
@@ -1908,7 +2390,9 @@
<MESSAGE value="some programs!!" />
<MESSAGE value="some programs!!!" />
<MESSAGE value="数算!" />
<option name="LAST_COMMIT_MESSAGE" value="数算!" />
<MESSAGE value="本人计概上半个学期的作业做完了" />
<MESSAGE value="开始计概A下半学期。" />
<option name="LAST_COMMIT_MESSAGE" value="开始计概A下半学期。" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
@@ -1998,11 +2482,6 @@
<line>11</line>
<option name="timeStamp" value="82" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/dsa/ch4_string/luogu_template_kmp_P3375.cpp</url>
<line>20</line>
<option name="timeStamp" value="85" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/dsa/ch5_binary_tree/luogu_P4715_matches.cpp</url>
<line>54</line>
@@ -2038,8 +2517,38 @@
<line>48</line>
<option name="timeStamp" value="102" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/dsa/ch4_string/template_kmp_standard_next.cpp</url>
<line>43</line>
<option name="timeStamp" value="105" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/cs101/stage_3/dh_31_02_lcm.cpp</url>
<line>20</line>
<option name="timeStamp" value="106" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/cs101/stage_3/dh_31_05_sunwukong.cpp</url>
<line>61</line>
<option name="timeStamp" value="107" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/cs101/stage_3/dh_31_06_legendre_polynomials_dp.cpp</url>
<line>20</line>
<option name="timeStamp" value="108" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/cs101/stage_3/dh_31_06_legendre_polynomials_dp.cpp</url>
<line>7</line>
<option name="timeStamp" value="110" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
<watches-manager>
<configuration name="CMakeRunConfiguration">
<watch expression="dp" language="C++" />
</configuration>
</watches-manager>
</component>
<component name="XSLT-Support.FileAssociations.UIState">
<expand />
+6
View File
@@ -11,6 +11,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
file(GLOB_RECURSE SOURCES "*.cpp" "*.c")
list(FILTER SOURCES EXCLUDE REGEX ".*/_no_compile/.*")
foreach (source ${SOURCES})
# 获取源文件所在目录(绝对路径)
get_filename_component(dir ${source} DIRECTORY)
@@ -32,4 +34,8 @@ foreach (source ${SOURCES})
set_target_properties(${target_name} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${rel_dir}"
)
target_compile_options(${target_name} PRIVATE
-Wall -Wextra -Wpedantic
)
endforeach ()
+33 -13
View File
@@ -1,22 +1,42 @@
#include <stdio.h>
int LINE[700000] = {0};
void test(int& a) {
a++;
}
int main() {
int number = 0, logo = 0;
scanf("%d", &number);
for (int wait_test = 1; wait_test <= number; wait_test++) {
while (logo == 0) {
int same = wait_test;
while (same >= 67) {
int a = same % 100;
if (a == 67) {
printf("%d\n", wait_test);
logo++;
break;
int i = 1;
for (int j = 1; j <= 100000; j++) {
while (LINE[j] == 0) {
int flag = 0;
int transform = i;
if (transform % 7 != 0) {
while (transform > 0) {
if (transform % 10 == 7) {
flag++;
}
transform /= 10;
}
same /= 10;
} else {
flag++;
}
if (flag == 0) {
LINE[j] = i;
i++;
} else {
i++;
}
}
logo--;
}
int group = 0;
scanf("%d", &group);
for (int z = 1; z <= group; z++) {
int input = 0;
scanf("%d", &input);
printf("%d\n", LINE[input]);
}
int val = *(LINE+5);
int a=1;
return 0;
}
+41 -43
View File
@@ -1,54 +1,52 @@
#include <algorithm>
#include <array>
#include <iostream>
#include <vector>
#include<bits/stdc++.h>
using namespace std;
constexpr int MAX_N = 1001, MAX_T = 1001;
struct Attendee {
int enter_time = 0, exit_time = 0;
struct patient {
string id;
int year;
};
int get_max_attendees_amount(std::vector<Attendee> attendees_schedule) {
std::array<int, MAX_T> bucket {};
for (const auto [enter_time, exit_time] : attendees_schedule) {
for (int t = enter_time; t < exit_time; t++) {
bucket[t]++;
}
}
return *std::max_element(bucket.begin(), bucket.end());
}
int main() {
std::iostream::sync_with_stdio(false);
std::cin.tie(nullptr);
int n;
cin >> n;
std::vector<Attendee> attendees;
char temp_comma;
int x;
while (true) {
std::cin >> x >> temp_comma;
attendees.push_back({x, -1});
if (temp_comma != ',') {
std::cin.unget();
break;
}
int num = 0, cnt = 0;
patient p[n];
patient x[n];
string young[n];
for (int i = 0; i < n; i++) {
cin >> p[i].id >> p[i].year;
x[i].id = p[i].id;
x[i].year = p[i].year;
}
for (int i = 0; i < attendees.size() - 1; i++) {
std::cin >> attendees[i].exit_time >> temp_comma;
}
std::cin >> attendees[attendees.size() - 1].exit_time;
std::cout << attendees.size() << ' ' << get_max_attendees_amount(attendees) << std::endl;
int x = 6, ans = 0;
if (x > 5)
if (x > 10) ans = 1;
for (int j = 0; j < n; j++) {
if (p[j].year >= 60)
num++;
else
ans = 2;
std::cout << ans;
young[cnt] = p[j].id;
cnt++;
}
for (int i = 0; i < n - 1; i++)
for (int j = 0; j < n - 1 - i; j++) {
int temp_year;
string temp_id;
if (x[j].year < x[j + 1].year) {
temp_year = x[j].year;
temp_id = x[j].id;
x[j].year = x[j + 1].year;
x[j].id = x[j + 1].id;
x[j + 1].year = temp_year;
x[j + 1].id = temp_id;
}
}
for (int i = 0; i < num; i++) {
cout << x[i].id << endl;
}
for (int j = 0; j < cnt; j++) {
cout << young[j] << endl;
}
return 0;
}
+23
View File
@@ -0,0 +1,23 @@
#include <iostream>
std::size_t calc_digits(std::string num) {
if (num == "0") { return 1; }
std::size_t ans = num.size(), i = 0;
while (num[i] == '0') {
i++;
ans--;
}
return ans;
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::string num;
std::cin >> num;
std::cout << calc_digits(num) << std::endl;
return 0;
}
@@ -0,0 +1,34 @@
#include <algorithm>
#include <array>
#include <iostream>
#include <vector>
constexpr std::size_t MAX_N = 1001;
int students_amount, task_per_student, total_days;
std::array<std::array<bool, MAX_N>, MAX_N> arrangements;
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cin >> students_amount >> task_per_student >> total_days;
for (int _ = 0; _ < students_amount; _++) {
for (int i = 0; i < task_per_student; i++) {
int day;
std::cin >> day;
arrangements[day][i] = true;
}
}
bool first = true;
for (int i = 1; i <= total_days; i++) {
if (!first) { std::cout << ' '; }
std::cout << std::count(arrangements[i].begin(), arrangements[i].end(), true);
first = false;
}
std::cout << std::endl;
return 0;
}
@@ -0,0 +1,38 @@
#include <algorithm>
#include <iostream>
#include <vector>
struct Patient {
int reservation_order = -1;
std::string id;
int age = -1;
bool operator<(const Patient& other) const {
if (age < 60 && other.age >= 60) { return !(other < *this); }
if (age >= 60) {
if (other.age < 60) { return true; }
if (age == other.age) { return reservation_order < other.reservation_order; }
return age > other.age;
}
return reservation_order < other.reservation_order;
}
};
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n;
std::cin >> n;
std::vector<Patient> patients(n);
for (int i = 0; i < n; i++) {
std::cin >> patients[i].id >> patients[i].age;
patients[i].reservation_order = i;
}
std::sort(patients.begin(), patients.end());
for (const auto& [reservation_order, id, age] : patients) {
std::cout << id << std::endl;
}
return 0;
}
@@ -0,0 +1,29 @@
/*
* 特别处理有一个杆子超级长?
*/
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n;
std::cin >> n;
std::vector<int> half_lengths;
half_lengths.reserve(2 * n);
for (int i = 0; i < n; i++) {
int length, flag_pos;
std::cin >> length >> flag_pos;
half_lengths.push_back(length - flag_pos);
half_lengths.push_back(flag_pos);
}
std::sort(half_lengths.begin(), half_lengths.end(), std::greater<>());
std::cout << half_lengths[0] + half_lengths[1] << std::endl;
return 0;
}
@@ -0,0 +1,57 @@
#include <iostream>
#include <unordered_map>
const std::unordered_map<std::string, int> TYPE_NAME_PRIORITIES = {
{"bool", 0},
{"char", 1},
{"int", 2},
{"longlong", 4},
{"float", 99},
{"double", 100},
};
class Type : public std::string {
public:
using std::string::string;
bool operator<(const Type& other) const {
if (empty()) { return true; }
return TYPE_NAME_PRIORITIES.at(*this) < TYPE_NAME_PRIORITIES.at(other);
}
};
void run() {
Type max_type, current_type;
std::string line;
std::cin >> line;
auto comma_pos = line.rfind(',');
if (comma_pos != std::string::npos) {
line.erase(0, comma_pos + 1);
}
for (char c : line) {
if (!std::isalpha(c)) {
std::clog << current_type << c << std::endl;
if (c == ',') {
max_type.clear();
} else {
if (max_type < Type("int")) { max_type = "int"; }
max_type = std::max(max_type, current_type);
}
current_type.clear();
} else {
current_type += c;
}
}
max_type = std::max(max_type, current_type);
std::cout << max_type << std::endl;
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n;
std::cin >> n;
while (n--) { run(); }
return 0;
}
+54
View File
@@ -0,0 +1,54 @@
#include <iostream>
#include <vector>
bool validate_arithmetic(const std::vector<bool>& bucket) {
if (bucket.size() <= 1) { return false; }
int previous_idx = -1, distance = -1;
for (int i = 0; i < bucket.size(); i++) {
if (!bucket[i]) { continue; }
if (previous_idx == -1) {
previous_idx = i;
continue;
}
if (distance == -1) {
distance = i - previous_idx;
}
if (i - previous_idx != distance) {
return false;
}
previous_idx = i;
}
return true;
}
int clac_ans(const std::vector<int>& nums) {
if (nums.size() == 1) { return 0; }
std::vector<bool> bucket_begin(nums.size(), false);
std::vector<bool> bucket_end(nums.size(), true);
int ans = 0;
for (int i = 0; i < nums.size(); i++) {
bucket_begin[nums[i]] = true;
bucket_end[nums[i]] = false;
if (validate_arithmetic(bucket_begin) && validate_arithmetic(bucket_end)) {
ans++;
std::clog << i << std::endl;
}
}
return ans - 1;
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n;
std::cin >> n;
while (std::cin >> n) {
std::vector<int> nums(n);
for (int i = 0; i < n; i++) { std::cin >> nums[i], nums[i]--; }
std::cout << clac_ans(nums) << std::endl;
}
return 0;
}
+20
View File
@@ -0,0 +1,20 @@
#include <cmath>
#include <iostream>
long long calc_min_ops(long long a, long long b) {
if (a > b) { return a - b; }
long long div = b / a;
auto multiply_times = static_cast<long long>(std::log2(div));
a = a * std::pow(2, multiply_times);
return std::min(multiply_times + b - a, multiply_times + 1 + (2 * a - b));
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
long long a, b;
std::cin >> a >> b;
std::cout << calc_min_ops(a, b) << std::endl;
return 0;
}
+43
View File
@@ -0,0 +1,43 @@
#include <iostream>
constexpr int MAX_N = 1000001, MOD = 10000;
/// dp[0][i]: 长方形;dp[1][i]: 阶梯型,i 为短边长
long long dp[2][MAX_N];
void init_dp() {
dp[0][0] = 1;
dp[0][1] = 1;
dp[0][2] = 2;
dp[1][0] = 0;
dp[1][1] = 1;
dp[1][2] = 2;
for (int i = 3; i < MAX_N; i++) {
dp[0][i] = (dp[0][i - 1] + dp[0][i - 2] + dp[1][i - 2] * 2) % MOD;
dp[1][i] = (dp[0][i - 1] + dp[1][i - 1]) % MOD;
}
}
void log_dp(int n) {
for (int i = 1; i <= n; i++) {
std::clog << dp[0][i] << ' ';
}
std::clog << std::endl;
for (int i = 1; i <= n; i++) {
std::clog << dp[1][i] << ' ';
}
std::clog << std::endl;
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
init_dp();
int n;
std::cin >> n;
std::cout << dp[0][n] % MOD << std::endl;;
log_dp(n);
return 0;
}
+160
View File
@@ -0,0 +1,160 @@
#include <algorithm>
#include <array>
#include <iostream>
#include <vector>
constexpr int char_to_digit(char c) {
if (c >= '0' && c <= '9') { return static_cast<short>(c - '0'); }
if (c >= 'A' && c <= 'Z') { return static_cast<short>(c - 'A' + 10); }
throw std::invalid_argument("Invalid char as digit");
}
constexpr char digit_to_char(int digit) {
if (digit >= 0 && digit <= 9) { return static_cast<char>('0' + digit); }
return static_cast<char>('A' + digit - 10);
}
class BigFloat {
public:
std::array<std::vector<int>, 2> digit_vectors;
bool negative = false;
unsigned short base = 10;
explicit BigFloat(std::string s, unsigned short base = 10) : base(base) {
int i = 0;
if (s[0] == '-') { negative = true, i++; }
for (; i < s.size() && s[i] != '.'; i++) { digit_vectors[0].push_back(char_to_digit(s[i])); }
std::reverse(digit_vectors[0].begin(), digit_vectors[0].end());
i++;
for (; i < s.size(); i++) { digit_vectors[1].push_back(char_to_digit(s[i])); }
}
void normalize() {
digit_vectors[0].push_back(0);
digit_vectors[1].push_back(0);
for (int i = static_cast<int>(digit_vectors[1].size() - 2); i >= 0; i--) {
if (digit_vectors[1][i + 1] >= base) {
digit_vectors[1][i] += digit_vectors[1][i + 1] / base;
digit_vectors[1][i + 1] %= base;
}
if (digit_vectors[1][i + 1] < 0) {
int borrowed = -(digit_vectors[1][i + 1] + 1) / base + 1;
digit_vectors[1][i] -= borrowed;
digit_vectors[1][i + 1] += base * borrowed;
}
}
if (digit_vectors[1][0] >= base) {
digit_vectors[0][0] += digit_vectors[1][0] / base;
digit_vectors[1][0] %= base;
}
if (digit_vectors[1][0] < 0) {
int borrowed = -(digit_vectors[1][0] + 1) / base + 1;
digit_vectors[0][0] -= borrowed;
digit_vectors[1][0] += base * borrowed;
}
for (int i = 1; i < digit_vectors[0].size(); i++) {
if (digit_vectors[0][i - 1] >= base) {
digit_vectors[0][i] += digit_vectors[0][i - 1] / base;
digit_vectors[0][i - 1] %= base;
}
if (digit_vectors[0][i - 1] < 0) {
int borrowed = -(digit_vectors[0][i - 1] + 1) / base + 1;
digit_vectors[0][i] -= borrowed;
digit_vectors[0][i - 1] += base * borrowed;
}
}
if (digit_vectors[0][digit_vectors[0].size() - 1] < 0) {
// digit_vectors[0][digit_vectors[0].size() - 1] = -digit_vectors[0][digit_vectors[0].size() - 1];
negative = !negative;
for (auto& digits : digit_vectors) {
for (auto& digit : digits) { digit = -digit; }
}
normalize();
}
for (auto& digits : digit_vectors) {
while (!digits.empty() && digits.back() == 0) { digits.pop_back(); }
}
if (digit_vectors[0].size() + digit_vectors[1].size() == 0) {
digit_vectors[0].push_back(0);
negative = false;
}
}
std::string to_string() {
normalize();
std::string s;
for (auto digit : digit_vectors[0]) { s += digit_to_char(digit); }
if (negative) { s += '-'; }
std::reverse(s.begin(), s.end());
if (digit_vectors[1].empty()) { return s; }
s += '.';
for (auto digit : digit_vectors[1]) { s += digit_to_char(digit); }
return s;
}
friend std::ostream& operator<<(std::ostream& os, BigFloat big_float) {
return os << big_float.to_string();
}
static void align(BigFloat& a, BigFloat& b) {
for (auto part : {0, 1}) {
if (a.digit_vectors[part].size() < b.digit_vectors[part].size()) {
a.digit_vectors[part].resize(b.digit_vectors[part].size());
} else if (b.digit_vectors[part].size() < a.digit_vectors[part].size()) {
b.digit_vectors[part].resize(a.digit_vectors[part].size());
}
}
}
BigFloat operator-() const {
BigFloat result = *this;
result.negative = !result.negative;
return result;
}
BigFloat& operator+=(BigFloat other) {
if ((negative && !other.negative) || (!negative && other.negative)) { return *this -= -other; }
align(*this, other);
for (auto part : {0, 1}) {
for (int i = 0; i < digit_vectors[part].size(); i++) {
digit_vectors[part][i] += other.digit_vectors[part][i];
}
}
normalize();
return *this;
}
BigFloat& operator-=(BigFloat other) {
if ((negative && !other.negative) || (!negative && other.negative)) { return *this += -other; }
align(*this, other);
for (auto part : {0, 1}) {
for (int i = 0; i < digit_vectors[part].size(); i++) {
digit_vectors[part][i] -= other.digit_vectors[part][i];
}
}
normalize();
return *this;
}
};
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int cases;
std::cin >> cases;
while (cases--) {
unsigned short base;
std::string s1, s2;
std::cin >> base >> s1 >> s2;
BigFloat number1(s1, base), number2(s2, base);
std::clog << number1 << ' ' << number2 << std::endl;
number1 -= number2;
std::cout << number1 << std::endl;
}
return 0;
}
+26
View File
@@ -0,0 +1,26 @@
#include <iostream>
constexpr int MAX_N = 31;
int dp[MAX_N];
void init_dp() {
dp[0] = 1;
dp[1] = 1;
for (int i = 2; i < MAX_N; i++) {
dp[i] = dp[i - 1] + dp[i - 2];
}
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
init_dp();
int n;
std::cin >> n;
std::cout << dp[n] << std::endl;
return 0;
}
+25
View File
@@ -0,0 +1,25 @@
#include <iostream>
long long gcd(long long a, long long b) {
if (a < b) { return gcd(b, a); }
if (b == 1) { return 1; }
if (b == 0) { return a; }
return gcd(b, a % b);
}
long long lcm(long long a, long long b) {
return a / gcd(a, b) * b;
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
char temp_comma;
long long a, b;
std::cin >> a >> temp_comma >> b;
std::clog << gcd(a, b) << std::endl;
std::cout << lcm(a, b) << std::endl;
return 0;
}
+20
View File
@@ -0,0 +1,20 @@
#include <iostream>
bool is_palindromic(std::string s) {
if (s.size() == 1) { return true; }
for (int i = 0; i <= (s.size() - 2) / 2; i++) {
if (s[i] != s[s.size() - i - 1]) { return false; }
}
return true;
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::string s;
std::cin >> s;
std::cout << (is_palindromic(s) ? "yes" : "no") << std::endl;
return 0;
}
+22
View File
@@ -0,0 +1,22 @@
#include <iostream>
void print_kakutani_process(int n) {
while (n != 1) {
if (n % 2 == 0) {
std::cout << n << "/2=" << (n /= 2) << std::endl;
} else {
std::cout << n << "*3+1=" << (n *= 3, n += 1) << std::endl;
}
}
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n;
std::cin >> n;
print_kakutani_process(n);
return 0;
}
+89
View File
@@ -0,0 +1,89 @@
#include <any>
#include <iostream>
#include <vector>
using Grid = std::vector<std::vector<int>>;
class Vector2 {
public:
int x, y;
constexpr explicit Vector2(const int x = 0, const int y = 0) : x(x), y(y) {}
constexpr bool operator==(const Vector2 other) const { return x == other.x && y == other.y; }
constexpr Vector2 operator+(const Vector2 other) const { return Vector2(x + other.x, y + other.y); }
};
constexpr Vector2 DIRS[4] = {Vector2(0, 1), Vector2(1, 0), Vector2(0, -1), Vector2(-1, 0)};
template <typename T>
std::ostream& operator<<(std::ostream& os, const std::vector<T>& vector) {
for (auto elem : vector) { os << elem << ' '; }
return os;
}
template <typename T>
void log_grid(const std::vector<std::vector<T>>& grid, const std::string& prefix = "") {
for (auto line : grid) {
std::clog << prefix << ' ' << line << std::endl;
}
}
Grid get_init_grid(int r, int c) {
Grid grid = std::vector(r + 2, std::vector(c + 2, 0));
std::fill(grid[0].begin(), grid[0].end(), 1);
std::fill(grid[grid.size() - 1].begin(), grid[grid.size() - 1].end(), 1);
for (int j = 1; j <= r; j++) {
grid[j][0] = grid[j][c + 1] = 1;
}
return grid;
}
Grid input_grid() {
int r, c;
std::cin >> r >> c;
Grid grid = get_init_grid(r, c);
for (int i = 1; i <= r; i++) {
for (int j = 1; j <= c; j++) {
std::cin >> grid[i][j];
}
}
return grid;
}
bool verify_reachability(const Grid& grid,
const Vector2 end_pos,
Vector2 pos,
std::vector<std::vector<bool>>& visited) {
if (pos == end_pos) { return true; }
if (grid[pos.x][pos.y] == 1) { return false; }
if (visited[pos.x][pos.y]) { return false; }
visited[pos.x][pos.y] = true;
// log_grid(visited);
for (const auto dir : DIRS) {
if (verify_reachability(grid, end_pos, pos + dir, visited)) { return true; }
}
return false;
}
bool verify_reachability(const Grid& grid) {
Vector2 start_pos, end_pos;
for (int i = 0; i < grid.size(); i++) {
for (int j = 0; j < grid[0].size(); j++) {
if (grid[i][j] == 2) { start_pos = Vector2(i, j); }
if (grid[i][j] == 3) { end_pos = Vector2(i, j); }
}
}
std::vector visited(grid.size(), std::vector(grid[0].size(), false));
return verify_reachability(grid, end_pos, start_pos, visited);
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout << (verify_reachability(input_grid()) ? "Yes" : "No") << std::endl;
return 0;
}
@@ -0,0 +1,24 @@
#include <iostream>
constexpr int MAX_N = 1e6;
double dp[MAX_N + 1];
void init_dp(int x) {
dp[0] = 1, dp[1] = x;
for (int i = 2; i < MAX_N; i++) {
dp[i] = ((2 * i - 1) * x * dp[i - 1] - (i - 1) * dp[i - 2]) / i;
}
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n, x;
std::cin >> n >> x;
init_dp(x);
std::cout << dp[n] << std::endl;
return 0;
}
@@ -0,0 +1,15 @@
#include <iostream>
constexpr std::size_t MAX_SIZE = 10001;
template <typename T>
class Queue {
T data[MAX_SIZE];
};
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
return 0;
}
@@ -38,10 +38,7 @@ int main() {
std::string target, pattern;
std::cin >> target >> pattern;
for (const auto i : find_substring_pos(target, pattern)) {
std::cout << i + 1 << std::endl;
}
for (const auto val : prefix_function(pattern)) {
std::cout << val << " ";
std::cout << i << " ";
}
std::cout << std::endl;
@@ -0,0 +1,74 @@
#include <iostream>
#include <vector>
std::vector<int> get_next_vector(const std::string& s) {
std::vector<int> next(s.size() + 1);
next[0] = -1;
for (int i = 0; i < next.size() - 1; i++) { // 实际上写入下一位
int j = next[i];
while (j != -1 && s[i] != s[j]) { // j = -1: 完全不匹配,s[i]==s[j]: 直接能用
j = next[j];
}
if (j == -1 || s[i] == s[j]) { j++; }
next[i + 1] = j;
}
return next;
}
std::vector<int> get_optimized_next_vector(const std::string& s, const std::vector<int>& next) {
std::vector<int> next_optimized(next.size());
next_optimized[0] = -1;
next_optimized[next.size() - 1] = next[next.size() - 1];
for (int i = 1; i < next.size() - 1; i++) {
if (s[next[i]] == s[i]) {
next_optimized[i] = next_optimized[next[i]];
} else {
next_optimized[i] = next[i];
}
}
return next_optimized;
}
std::vector<int> find_substring_pos(const std::string& target, const std::string& pattern) {
std::vector<int> matched_pos;
const std::vector<int> next_vector = get_optimized_next_vector(pattern, get_next_vector(pattern));
int j = 0;
for (int i = 0; i < target.size(); i++) {
while (j > -1 && target[i] != pattern[j]) {
j = next_vector[j];
}
if (j == -1) {
j = 0; // 完全失配,直接 i++ j++
continue;
}
if (target[i] == pattern[j]) { j++; }
if (j == pattern.size()) {
matched_pos.push_back(i - static_cast<int>(pattern.size()) + 1);
j = next_vector[j];
}
}
return matched_pos;
}
std::ostream& operator<<(std::ostream& os, std::vector<int> vec) {
for (const auto& elem : vec) {
os << elem << " ";
}
return os;
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::string target, pattern;
std::cin >> target >> pattern;
std::clog << get_next_vector(pattern) << std::endl;
std::clog << get_optimized_next_vector(pattern, get_next_vector(pattern)) << std::endl;
for (const auto i : find_substring_pos(target, pattern)) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
@@ -0,0 +1,224 @@
#include <iostream>
#include <cassert>
#include <functional>
#include <stack>
#include <vector>
#include <unordered_map>
using Expression = std::string; // 没有数字
bool is_operator(const char c) {
return c == '+' || c == '-' || c == '*' || c == '/'
|| c == '(' || c == ')';
}
int get_priority(char c) {
assert(is_operator(c));
if (c == '+' || c == '-') { return 1; }
if (c == '*' || c == '/') { return 2; }
throw std::invalid_argument("Invalid operator!");
}
class ExpressionTree {
public:
struct Node {
char value;
int depth = -1;
Node *father = nullptr, *left = nullptr, *right = nullptr;
explicit Node(char c) : value(c) {}
[[nodiscard]] bool is_operator() const {
return ::is_operator(value);
}
[[nodiscard]] int get_priority() const {
return ::get_priority(value);
}
};
Node* root = nullptr;
int depth = -1;
void init_depths() {
dfs([this](Node* node, int dfs_depth) {
node->depth = dfs_depth;
depth = std::max(depth, dfs_depth);
});
depth++;
}
void init_with_infix(const Expression& expression) {
std::stack<Node*> ops;
std::stack<Node*> nums;
for (char c : expression) {
if (!is_operator(c)) {
nums.push(new Node(c));
continue;
}
if (c == '(') {
ops.push(new Node(c));
continue;
}
if (c == ')') {
while (ops.top()->value != '(') {
construct_one_op(ops, nums);
}
ops.pop();
continue;
}
Node* node = new Node(c);
while (!ops.empty() && ops.top()->value != '('
&& node->get_priority() <= ops.top()->get_priority()) {
construct_one_op(ops, nums);
}
ops.push(node);
}
while (!ops.empty()) {
construct_one_op(ops, nums);
}
root = nums.top();
init_depths();
}
protected:
static void construct_one_op(std::stack<Node*>& ops, std::stack<Node*>& nums) {
auto op = ops.top();
ops.pop();
auto num_right = nums.top();
nums.pop();
auto num_left = nums.top();
nums.pop();
op->left = num_left;
op->right = num_right;
num_left->father = op;
num_right->father = op;
nums.push(op);
}
public:
[[nodiscard]] Expression get_postfix() const {
Expression expression;
// 此代码正确,但是本人想试试 dfs
// std::stack<std::pair<Node*, short>> stack; // 0: 没干过活,1: 玩过左,2: 玩过右
// stack.emplace(root, 0);
// while (!stack.empty()) {
// // std::clog << "Top: " << stack.top().first->value << ", flag=" << stack.top().second << std::endl;
// if (stack.top().second == 0) {
// stack.top().second++;
// if (stack.top().first->left != nullptr) {
// stack.emplace(stack.top().first->left, 0);
// }
// } else if (stack.top().second == 1) {
// stack.top().second++;
// if (stack.top().first->right != nullptr) {
// stack.emplace(stack.top().first->right, 0);
// }
// } else {
// expression += stack.top().first->value;
// stack.pop();
// }
// }
dfs([&expression](Node* node, int _) {
expression.push_back(node->value);
}, 2);
return expression;
}
std::vector<std::string> get_string_lines() {
std::vector<std::string> lines(depth * 2);
dfs_with_id([&lines](Node* node, unsigned long long node_id) {
lines[node->depth * 2].resize(node_id, ' ');
lines[node->depth * 2][node_id - 1] = node->value;
if (node->left != nullptr) {
lines[node->depth * 2 + 1].resize(node_id - 1, ' ');
lines[node->depth * 2 + 1][node_id - 2] = '/';
}
if (node->right != nullptr) {
lines[node->depth * 2 + 1].resize(node_id + 1, ' ');
lines[node->depth * 2 + 1][node_id] = '\\';
}
}, 2);
lines.pop_back();
return lines;
}
long long calculate(const std::unordered_map<char, int>& variable_map, Node* node = nullptr) {
if (node == nullptr) { node = root; }
if (node->left == nullptr) { return variable_map.at(node->value); }
long long left = calculate(variable_map, node->left);
long long right = calculate(variable_map, node->right);
if (node->value == '+') { return left + right; }
if (node->value == '-') { return left - right; }
if (node->value == '*') { return left * right; }
if (node->value == '/') { return left / right; }
throw std::logic_error("");
}
protected:
void dfs(const std::function<void(Node*, int)>& func,
int func_entry = 0,
int dfs_depth = 0,
Node* node = nullptr) const {
if (dfs_depth == 0) { node = root; }
if (func_entry == 0) { func(node, dfs_depth); }
if (node->left != nullptr) { dfs(func, func_entry, dfs_depth + 1, node->left); }
if (func_entry == 1) { func(node, dfs_depth); }
if (node->right != nullptr) { dfs(func, func_entry, dfs_depth + 1, node->right); }
if (func_entry == 2) { func(node, dfs_depth); }
}
void dfs_with_id(const std::function<void(Node*, unsigned long long)>& func,
int func_entry = 0,
unsigned long long node_id = 0,
Node* node = nullptr) const {
if (node == nullptr) { node = root, node_id = 1 << (depth - 1); }
// std::clog << node_id << std::endl;
unsigned long long depth_bit = 1ull << (depth - node->depth - 1);
unsigned long long flipped_depth_bit = ~0ull ^ depth_bit;
if (func_entry == 0) { func(node, node_id); }
if (node->left != nullptr) {
dfs_with_id(func, func_entry, (node_id & flipped_depth_bit) | (depth_bit >> 1), node->left);
}
if (func_entry == 1) { func(node, node_id); }
if (node->right != nullptr) {
dfs_with_id(func, func_entry, node_id | (depth_bit >> 1), node->right);
}
if (func_entry == 2) { func(node, node_id); }
}
friend std::ostream& operator<<(std::ostream& os, ExpressionTree expression_tree) {
for (const auto& line : expression_tree.get_string_lines()) {
os << line << std::endl;
}
return os;
}
};
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
Expression infix_expression;
std::cin >> infix_expression;
ExpressionTree expression_tree;
expression_tree.init_with_infix(infix_expression);
std::cout << expression_tree.get_postfix() << std::endl;
std::cout << expression_tree;
int n;
std::cin >> n;
std::unordered_map<char, int> variable_map;
for (int i = 0; i < n; i++) {
char c;
int x;
std::cin >> c >> x;
variable_map[c] = x;
}
std::cout << expression_tree.calculate(variable_map) << std::endl;
return 0;
}
@@ -0,0 +1,107 @@
#include <functional>
#include <iostream>
#include <vector>
class BinaryTree {
public:
using NodeIdx = int;
struct Node {
char value;
NodeIdx left = -1, right = -1;
};
enum class FuncEntry { Pre, In, Post };
NodeIdx root = -1;
std::vector<Node> nodes;
void init_with_lines(const std::vector<std::string>& lines) {
nodes.reserve(lines.size());
std::vector<int> lines_dashes(lines.size());
int idx = 0;
root = init_with_lines(lines, 0, idx);
}
std::string prefix_traverse() {
std::string traverse;
traverse.reserve(nodes.size());
dfs([&traverse, this](NodeIdx node, int dfs_depth) {
traverse += nodes[node].value;
}, FuncEntry::Pre);
return traverse;
}
std::string infix_traverse() {
std::string traverse;
traverse.reserve(nodes.size());
dfs([&traverse, this](NodeIdx node, int dfs_depth) {
traverse += nodes[node].value;
}, FuncEntry::In);
return traverse;
}
std::string postfix_traverse() {
std::string traverse;
traverse.reserve(nodes.size());
dfs([&traverse, this](NodeIdx node, int dfs_depth) {
traverse += nodes[node].value;
}, FuncEntry::Post);
return traverse;
}
protected:
NodeIdx init_with_lines(const std::vector<std::string>& lines,
int depth, int& idx) {
if (idx >= lines.size() || lines[idx].size() - 1 < depth) { return -1; }
char value;
if ((value = lines[idx][lines[idx].size() - 1]) == '*') {
idx++;
return -1;
}
const NodeIdx node_idx = nodes.size();
nodes.push_back(Node{value});
idx++;
nodes[node_idx].left = init_with_lines(lines, depth + 1, idx);
nodes[node_idx].right = init_with_lines(lines, depth + 1, idx);
return node_idx;
}
void dfs(const std::function<void(NodeIdx, int)>& func,
FuncEntry func_entry = FuncEntry::Pre,
int dfs_depth = 0,
NodeIdx node = -1
) {
if (dfs_depth == 0) { node = root; }
if (func_entry == FuncEntry::Pre) { func(node, dfs_depth); }
if (nodes[node].left != -1) { dfs(func, func_entry, dfs_depth + 1, nodes[node].left); }
if (func_entry == FuncEntry::In) { func(node, dfs_depth); }
if (nodes[node].right != -1) { dfs(func, func_entry, dfs_depth + 1, nodes[node].right); }
if (func_entry == FuncEntry::Post) { func(node, dfs_depth); }
}
};
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n;
std::cin >> n;
while (n--) {
std::vector<std::string> lines;
std::string s;
while (std::cin >> s && s != "0") {
lines.push_back(s);
}
BinaryTree binary_tree;
binary_tree.init_with_lines(lines);
std::cout << binary_tree.prefix_traverse() << std::endl
<< binary_tree.postfix_traverse() << std::endl
<< binary_tree.infix_traverse() << std::endl << std::endl;
}
return 0;
}
@@ -0,0 +1,112 @@
#include <functional>
#include <iostream>
#include <optional>
#include <queue>
#include <unordered_map>
#include <utility>
class HuffmanTree {
public:
struct Node {
long long weight;
std::optional<std::string> content;
Node *left = nullptr, *right = nullptr;
bool operator<(const Node& other) const {
return weight < other.weight;
}
};
enum class DfsEntries { Pre, In, Post };
Node* root = nullptr;
explicit HuffmanTree(const std::unordered_map<std::string, long long>& freq_map) {
std::priority_queue<Node*, std::vector<Node*>,
std::function<bool(Node*, Node*)>>
nodes_heap([](Node* a, Node* b) { return a->weight > b->weight; });
for (const auto& [key, freq] : freq_map) {
nodes_heap.push(new Node{.weight = freq, .content = key});
}
while (nodes_heap.size() > 1) {
Node* node1 = nodes_heap.top();
nodes_heap.pop();
Node* node2 = nodes_heap.top();
nodes_heap.pop();
Node* new_node = new Node{.weight = node1->weight + node2->weight, .left = node1, .right = node2};
nodes_heap.push(new_node);
}
root = nodes_heap.top();
}
std::unordered_map<std::string, std::vector<bool>> get_encodings() {
std::unordered_map<std::string, std::vector<bool>> encodings;
if (root->left == nullptr && root->right == nullptr) {
encodings[root->content.value()] = {false};
} else {
dfs_with_path([&encodings](Node* node, std::vector<bool> path) {
if (!node->content.has_value()) { return; }
encodings[node->content.value()] = std::move(path);
});
}
return encodings;
}
protected:
void dfs_with_path(const std::function<void(Node*, std::vector<bool>)>& func,
DfsEntries func_entry = DfsEntries::Pre) {
std::vector<bool> path;
dfs_with_path(func, func_entry, path);
}
void dfs_with_path(const std::function<void(Node*, std::vector<bool>)>& func,
DfsEntries func_entry,
std::vector<bool>& path,
Node* node = nullptr) {
if (node == nullptr) { node = root; }
if (func_entry == DfsEntries::Pre) { func(node, path); }
if (node->left != nullptr) {
path.push_back(false);
dfs_with_path(func, func_entry, path, node->left);
path.pop_back();
}
if (func_entry == DfsEntries::In) { func(node, path); }
if (node->right != nullptr) {
path.push_back(true);
dfs_with_path(func, func_entry, path, node->right);
path.pop_back();
}
if (func_entry == DfsEntries::Post) { func(node, path); }
}
};
std::ostream& operator<<(std::ostream& os, const std::vector<bool>& bintree_path) {
for (const auto bin : bintree_path) {
os << (bin ? 1 : 0);
}
return os;
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n;
std::cin >> n;
std::vector<std::string> keys(n);
std::unordered_map<std::string, long long> freq_map;
for (int i = 0; i < n; i++) {
int freq;
std::cin >> keys[i] >> freq;
freq_map[keys[i]] = freq;
}
HuffmanTree huffman_tree(freq_map);
auto encodings = huffman_tree.get_encodings();
for (const auto& key : keys) {
std::cout << key << ' ' << encodings[key] << std::endl;
}
return 0;
}
+88
View File
@@ -0,0 +1,88 @@
#include <iostream>
#include <vector>
/**
* 带权并查集。权重记录该节点到父节点的边的边权(保证一切根节点权重为 0)
*/
class DsuWeighted {
public:
using NodeIdx = int;
struct Node {
NodeIdx parent = -1;
int weight = 0;
std::size_t size = 1;
};
std::vector<Node> nodes;
const int groups_amount;
explicit DsuWeighted(const std::size_t n, int groups = 2) : nodes(n), groups_amount(groups) {
for (auto i = 0; i < n; i++) {
nodes[i].parent = i;
}
}
NodeIdx find(const NodeIdx x) {
if (nodes[x].parent == x) { return x; }
find(nodes[x].parent);
nodes[x].weight += nodes[nodes[x].parent].weight;
nodes[x].weight %= groups_amount;
return nodes[x].parent = find(nodes[x].parent);
}
int get_weight(const NodeIdx x) {
find(x);
return nodes[x].weight;
}
void unite(NodeIdx x, NodeIdx y, int weight_delta = 0) {
auto x_root = find(x), y_root = find(y);
if (x_root == y_root) { return; }
if (nodes[x_root].size > nodes[y_root].size) {
std::swap(x, y);
std::swap(x_root, y_root);
weight_delta = -weight_delta;
}
nodes[x_root].weight += weight_delta + nodes[y].weight - nodes[x].weight;
nodes[x_root].weight %= groups_amount;
nodes[x_root].parent = y_root;
nodes[y_root].size += nodes[x_root].size;
}
};
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout.tie(nullptr);
int test_cases_amount;
std::cin >> test_cases_amount;
while (test_cases_amount--) {
int cases_amount, queries_amount;
std::cin >> cases_amount >> queries_amount;
DsuWeighted dsu(cases_amount, 2);
while (queries_amount--) {
char op;
int case_id_1, case_id_2;
std::cin >> op >> case_id_1 >> case_id_2;
case_id_1--, case_id_2--;
if (op == 'D') {
dsu.unite(case_id_1, case_id_2, 1);
} else if (op == 'A') {
if (dsu.find(case_id_1) != dsu.find(case_id_2)) {
std::cout << "Not sure yet." << std::endl;
} else {
if ((dsu.get_weight(case_id_1) - dsu.get_weight(case_id_2)) % 2 == 0) {
std::cout << "In the same gang." << std::endl;
} else {
std::cout << "In different gangs." << std::endl;
}
}
}
}
}
return 0;
}
+144
View File
@@ -0,0 +1,144 @@
#include <functional>
#include <iostream>
#include <vector>
using NodeIdx = std::size_t;
static constexpr NodeIdx NULL_IDX = static_cast<NodeIdx>(-1);
template <typename T>
class Tree {
public:
enum class FuncEntry { Pre, Post };
struct Node {
T value;
NodeIdx parent = NULL_IDX;
std::vector<NodeIdx> children;
};
std::vector<Node> nodes;
NodeIdx root = NULL_IDX;
NodeIdx add_node(const Node& node_obj) {
nodes.push_back(node_obj);
return nodes.size() - 1;
}
void init_with_dfs(const std::string& dfs_string) {
root = add_node({.value = T()});
init_with_dfs(dfs_string, 0, root);
}
int get_height() {
int depth = -1;
dfs([&depth](NodeIdx node, int dfs_depth) { depth = std::max(depth, dfs_depth); });
return depth;
}
protected:
void init_with_dfs(const std::string& dfs_string, std::size_t s_idx, NodeIdx node) {
if (s_idx >= dfs_string.size()) { return; }
if (dfs_string[s_idx] == 'd') {
auto new_node = add_node({.value = T(), .parent = node});
nodes[node].children.push_back(new_node);
init_with_dfs(dfs_string, s_idx + 1, nodes[node].children.back());
} else {
init_with_dfs(dfs_string, s_idx + 1, nodes[node].parent);
}
}
void dfs(const std::function<void(NodeIdx, int)>& func,
FuncEntry func_entry = FuncEntry::Post,
int depth = 0,
NodeIdx node = NULL_IDX
) {
if (depth == 0) { node = root; }
if (func_entry == FuncEntry::Pre) { func(node, depth); }
for (auto child : nodes[node].children) {
dfs(func, func_entry, depth + 1, child);
}
if (func_entry == FuncEntry::Post) { func(node, depth); }
}
};
template <typename T>
class BinaryTree {
public:
enum class FuncEntry { Pre, In, Post };
struct Node {
T value;
NodeIdx parent = NULL_IDX, left = NULL_IDX, right = NULL_IDX;
};
std::vector<Node> nodes;
NodeIdx root = -1;
NodeIdx add_node(Node node_obj) {
nodes.push_back(node_obj);
return nodes.size() - 1;
}
void init_from_tree(const Tree<T>& tree) {
root = add_node({});
init_from_tree(tree, tree.root, 0);
}
int get_height() {
int depth = -1;
dfs([&depth](NodeIdx node, int dfs_depth) { depth = std::max(depth, dfs_depth); });
return depth;
}
protected:
void init_from_tree(const Tree<T>& tree, NodeIdx binary_tree_node, NodeIdx tree_node) {
bool first_child = false;
NodeIdx current_parent = NULL_IDX;
for (auto child : tree.nodes[tree_node].children) {
if (!first_child) {
first_child = true;
NodeIdx new_node = add_node({.value = T(), .parent = binary_tree_node});
nodes[binary_tree_node].left = new_node;
current_parent = nodes[binary_tree_node].left;
init_from_tree(tree, nodes[binary_tree_node].left, child);
continue;
}
NodeIdx new_node = add_node({.value = T(), .parent = current_parent});
nodes[current_parent].right = new_node;
current_parent = nodes[current_parent].right;
init_from_tree(tree, current_parent, child);
}
}
void dfs(const std::function<void(NodeIdx, int)>& func,
FuncEntry func_entry = FuncEntry::Pre,
int dfs_depth = 0,
NodeIdx node = -1
) {
if (dfs_depth == 0) { node = root; }
if (func_entry == FuncEntry::Pre) { func(node, dfs_depth); }
if (nodes[node].left != -1) { dfs(func, func_entry, dfs_depth + 1, nodes[node].left); }
if (func_entry == FuncEntry::In) { func(node, dfs_depth); }
if (nodes[node].right != -1) { dfs(func, func_entry, dfs_depth + 1, nodes[node].right); }
if (func_entry == FuncEntry::Post) { func(node, dfs_depth); }
}
};
struct ManualVoid {};
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout.tie(nullptr);
std::string dfs_string;
for (int i = 0; std::cin >> dfs_string && dfs_string != "#"; i++) {
Tree<ManualVoid> tree;
tree.init_with_dfs(dfs_string);
BinaryTree<ManualVoid> binary_tree;
binary_tree.init_from_tree(tree);
std::cout << "Tree " << i + 1 << ": " << tree.get_height() << " => " << binary_tree.get_height() << std::endl;
}
return 0;
}
+64
View File
@@ -0,0 +1,64 @@
#include <iostream>
#include <memory>
#include <vector>
class Graph {
public:
struct EdgeNode {
std::size_t end_vertex;
int weight = 1;
std::unique_ptr<EdgeNode> next = nullptr;
EdgeNode(std::size_t end_vertex, int weight, std::unique_ptr<EdgeNode>&& next = nullptr) {
this->end_vertex = end_vertex;
this->weight = weight;
this->next = std::move(next);
}
};
struct VertexNode {
int value = -1;
std::unique_ptr<EdgeNode> first_edge = nullptr;
};
std::vector<VertexNode> vertices;
explicit Graph(int vertices_size) : vertices(vertices_size) {}
void add_edge(std::size_t start_vertex, std::size_t end_vertex, int weight = 1, const bool two_dirs = false) {
// 效率上考量,向头部加边
// if (vertices[start_vertex].first_edge == nullptr) {
// vertices[start_vertex].first_edge = std::make_unique<EdgeNode>(end_vertex, weight);
// } else {
// auto head = std::move(vertices[start_vertex].first_edge);
// vertices[start_vertex].first_edge = std::make_unique<EdgeNode>(end_vertex, weight);
// vertices[start_vertex].first_edge->next = std::move(head);
// }
vertices[start_vertex].first_edge = std::make_unique<EdgeNode>(
end_vertex, weight, std::move(vertices[start_vertex].first_edge));
if (two_dirs) {
add_edge(end_vertex, start_vertex, weight, false);
}
}
};
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n;
std::cin >> n;
Graph graph(n);
for (int i = 0; i < n - 1; i++) {
char node_c;
int edges_amount;
std::cin >> node_c >> edges_amount;
for (int _ = 0; _ < edges_amount; _++) {
int edge_weight;
std::cin >> node_c >> edge_weight;
graph.add_edge(i, node_c - 'A', edge_weight, true);
}
}
return 0;
}
@@ -0,0 +1,8 @@
#include <iostream>
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
return 0;
}
+7 -5
View File
@@ -3,18 +3,19 @@
using namespace std;
constexpr int MAX_N = 100;
int cache[MAX_N * MAX_N];
constexpr int MAX_N = 5001, MOD = 1e9 + 7;
long long cache[MAX_N * MAX_N + MAX_N];
int get_split_solutions_count(int n, int parts_count) {
long long get_split_solutions_count(int n, int parts_count) {
if (n <= 0 || parts_count > n) { return 0; }
if (parts_count == 1 || parts_count == n) { return 1; }
if (cache[n * MAX_N + parts_count] != 0) {
return cache[n * MAX_N + parts_count];
}
int ans = 0;
long long ans = 0;
for (int i = 1; i <= n / 2; i++) {
ans += get_split_solutions_count(n - i - (i - 1) * (parts_count - 1), parts_count - 1);
ans %= MOD;
}
cache[n * MAX_N + parts_count] = ans;
return ans;
@@ -27,9 +28,10 @@ int main() {
int n;
while (cin >> n) {
// cout << get_split_solutions_count(n, 2) << endl;
int ans = 0;
long long ans = 0;
for (int i = 1; i <= n; i++) {
ans += get_split_solutions_count(n, i);
ans %= MOD;
// clog << i << ":" << ans << " ";
}
cout << ans << endl;