Compare commits

...
3 Commits
Author SHA1 Message Date
rogerwang2008 5d30e847c1 some programs 2026-09-09 13:38:11 +08:00
rogerwang2008 a7a78fbac8 Update CMakeLists.txt 2026-09-05 11:05:50 +08:00
rogerwang2008 94bdf44889 1 2026-08-06 23:20:25 +08:00
39 changed files with 2501 additions and 134 deletions
+1 -2
View File
@@ -206,7 +206,7 @@
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexedValue" value="SUGGESTION" type="string" /> <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexedValue" value="WARNING" type="string" /> <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" /> <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" /> <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" /> <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexedValue" value="WARNING" type="string" /> <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexedValue" value="WARNING" type="string" /> <option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexedValue" value="WARNING" type="string" />
@@ -255,7 +255,6 @@
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CASE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" /> <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CASE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/EMPTY_BLOCK_STYLE/@EntryValue" value="TOGETHER_SAME_LINE" type="string" /> <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/EMPTY_BLOCK_STYLE/@EntryValue" value="TOGETHER_SAME_LINE" type="string" />
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/EXPORT_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" /> <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/EXPORT_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CASE_FROM_SWITCH/@EntryValue" value="true" type="bool" />
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INVOCABLE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" /> <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INVOCABLE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" /> <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/OTHER_BRACES/@EntryValue" value="END_OF_LINE" type="string" /> <option name="/Default/CodeStyle/CodeFormatting/CppFormatting/OTHER_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
+9 -1
View File
@@ -1,2 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module classpath="CIDR" type="CPP_MODULE" version="4" /> <module external.system.id="pyproject.toml" type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.venv" />
</content>
<orderEntry type="jdk" jdkName="~/coding/exercises/.venv" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
+1
View File
@@ -3,6 +3,7 @@
<component name="ProjectModuleManager"> <component name="ProjectModuleManager">
<modules> <modules>
<module fileurl="file://$PROJECT_DIR$/.idea/exercises.iml" filepath="$PROJECT_DIR$/.idea/exercises.iml" /> <module fileurl="file://$PROJECT_DIR$/.idea/exercises.iml" filepath="$PROJECT_DIR$/.idea/exercises.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/exercises2.iml" filepath="$PROJECT_DIR$/.idea/exercises2.iml" />
</modules> </modules>
</component> </component>
</project> </project>
+471 -105
View File
@@ -4,7 +4,7 @@
<option name="autoReloadType" value="SELECTIVE" /> <option name="autoReloadType" value="SELECTIVE" />
</component> </component>
<component name="BackendCodeEditorMiscSettings"> <component name="BackendCodeEditorMiscSettings">
<option name="/Default/Environment/Hierarchy/GeneratedFilesCacheKey/Timestamp/@EntryValue" value="8" type="long" /> <option name="/Default/Environment/Hierarchy/GeneratedFilesCacheKey/Timestamp/@EntryValue" value="3" type="long" />
<option name="/Default/Housekeeping/FeatureSuggestion/FeatureSuggestionManager/DisabledSuggesters/=SwitchToGoToActionSuggester/@EntryIndexedValue" value="true" type="bool" /> <option name="/Default/Housekeeping/FeatureSuggestion/FeatureSuggestionManager/DisabledSuggesters/=SwitchToGoToActionSuggester/@EntryIndexedValue" value="true" type="bool" />
<option name="/Default/Housekeeping/LiveTemplatesHousekeeping/HotspotSessionHintIsShown/@EntryValue" value="true" type="bool" /> <option name="/Default/Housekeeping/LiveTemplatesHousekeeping/HotspotSessionHintIsShown/@EntryValue" value="true" type="bool" />
<option name="/Default/Housekeeping/OptionsDialog/SelectedPageId/@EntryValue" value="CppFormatterOtherPage" type="string" /> <option name="/Default/Housekeeping/OptionsDialog/SelectedPageId/@EntryValue" value="CppFormatterOtherPage" type="string" />
@@ -21,47 +21,82 @@
<component name="CMakeRunConfigurationManager"> <component name="CMakeRunConfigurationManager">
<generated> <generated>
<config projectName="exercises" targetName="pojcs101_M02692_12_coins" /> <config projectName="exercises" targetName="pojcs101_M02692_12_coins" />
<config projectName="exercises" targetName="pojcs101_M01321_chest_grid" /> <config projectName="exercises" targetName="graph__ECNA2001_sort_letters" />
<config projectName="exercises" targetName="pojcs101_T12559_biggest_smallest_combination" />
<config projectName="exercises" targetName="pojcs101_T12559_biggest_smallest_combination_WRONG" />
<config projectName="exercises" targetName="pojcs101_E02883" /> <config projectName="exercises" targetName="pojcs101_E02883" />
<config projectName="exercises" targetName="pojcs101_M02694_polish_notation_tree" /> <config projectName="exercises" targetName="pojcs101_M02694_polish_notation_tree" />
<config projectName="exercises" targetName="CMakeCXXCompilerId" />
<config projectName="exercises" targetName="pojcs101_M01017_6_boxes" /> <config projectName="exercises" targetName="pojcs101_M01017_6_boxes" />
<config projectName="exercises" targetName="pojcs101_M01002_memorable_number" /> <config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE" />
<config projectName="exercises" targetName="pojcs101_M02524_ubiquitous_religions_dsu" /> <config projectName="exercises" targetName="dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack" />
<config projectName="exercises" targetName="pojcs101_M03247_palindromic_prime" /> <config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG" />
<config projectName="exercises" targetName="pojcs101_E01218" /> <config projectName="exercises" targetName="JLOI2009_binary_tree_GIVEUP" />
<config projectName="exercises" targetName="exercises" /> <config projectName="exercises" targetName="_others__qyz__gdbh" />
<config projectName="exercises" targetName="pojcs101_M03704_brackets" />
<config projectName="exercises" targetName="luogu_ez_B3628" /> <config projectName="exercises" targetName="luogu_ez_B3628" />
<config projectName="exercises" targetName="dp__TJOI2007_walk_segments_dp" />
<config projectName="exercises" targetName="pojcs101_M03441_sum_zero" />
<config projectName="exercises" targetName="pojcs101_M01328_radar_greedy" /> <config projectName="exercises" targetName="pojcs101_M01328_radar_greedy" />
<config projectName="exercises" targetName="pojcs101_M01852_ants_falling" />
<config projectName="exercises" targetName="pojcs101_M02692_12_coins_WRONG" /> <config projectName="exercises" targetName="pojcs101_M02692_12_coins_WRONG" />
<config projectName="exercises" targetName="pojcs101_M02746_josephus_problem_simulation" /> <config projectName="exercises" targetName="pojcs101_M02746_josephus_problem_simulation" />
<config projectName="exercises" targetName="pojcs101_M02039_snakey_encryption" /> <config projectName="exercises" targetName="pojcs101_M02039_snakey_encryption" />
<config projectName="exercises" targetName="pojcs101_M01088_ski_WRONG" /> <config projectName="exercises" targetName="graph__luogu_P3916_graph_iteration" />
<config projectName="exercises" targetName="dp__NOIP1996S_miner_dp_MWASTE" />
<config projectName="exercises" targetName="pojcs101_T01011_sticks" /> <config projectName="exercises" targetName="pojcs101_T01011_sticks" />
<config projectName="exercises" targetName="pojcs101_M02431_cows_gas_leak_WRONG" /> <config projectName="exercises" targetName="pojcs101_M02431_cows_gas_leak_WRONG" />
<config projectName="exercises" targetName="NOIP2003J_bigint" />
<config projectName="exercises" targetName="pojcs101_M01922_ride_follower" /> <config projectName="exercises" targetName="pojcs101_M01922_ride_follower" />
<config projectName="exercises" targetName="luogu_template_dsu_P3367" /> <config projectName="exercises" targetName="luogu_template_dsu_P3367" />
<config projectName="exercises" targetName="pojcs101_M01088_ski" /> <config projectName="exercises" targetName="luogu_P1160_biodir_linked_list" />
<config projectName="exercises" targetName="pojcs101_E01003" /> <config projectName="exercises" targetName="pojcs101_E01003" />
<config projectName="exercises" targetName="JLOI2009_binary_tree" />
<config projectName="exercises" targetName="pojcs101_M03532" />
<config projectName="exercises" targetName="pojcs101_M01321_chest_grid" />
<config projectName="exercises" targetName="pojcs101_T04117_split_int" />
<config projectName="exercises" targetName="pojcs101_T27373_biggest_combination_t2_TLE" />
<config projectName="exercises" targetName="pojcs101_M01002_memorable_number" />
<config projectName="exercises" targetName="pojcs101_M02524_ubiquitous_religions_dsu" />
<config projectName="exercises" targetName="pojcs101_M03247_palindromic_prime" />
<config projectName="exercises" targetName="SHOI2002_ski" />
<config projectName="exercises" targetName="pojcs101_E01218" />
<config projectName="exercises" targetName="dp__NOIP1996S_miner_dp" />
<config projectName="exercises" targetName="exercises" />
<config projectName="exercises" targetName="dp__SHOI2002_ski_dp" />
<config projectName="exercises" targetName="pojcs101_T01011_sticks_WRONG" />
<config projectName="exercises" targetName="pojcs101_M01852_ants_falling" />
<config projectName="exercises" targetName="graph__luogu_P3916_graph_iteration_WRONG" />
<config projectName="exercises" targetName="SHOI2002_ski_WRONG" />
<config projectName="exercises" targetName="dsa__linear_list__dsa_0201_dictionary" />
<config projectName="exercises" targetName="pojcs101_T27104_chicken_monitors" />
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE_BETTER" />
<config projectName="exercises" targetName="cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId" />
<config projectName="exercises" targetName="NOIP2016J_bay" />
<config projectName="exercises" targetName="lc_135_candy" />
<config projectName="exercises" targetName="pojcs101_T27373_biggest_combination_t2" />
<config projectName="exercises" targetName="_others__qyz__test" />
<config projectName="exercises" targetName="pojcs101_M01328_radar_greedy_WRONG" /> <config projectName="exercises" targetName="pojcs101_M01328_radar_greedy_WRONG" />
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack" />
</generated> </generated>
</component> </component>
<component name="CMakeSettings" AUTO_RELOAD="true"> <component name="CMakeSettings" AUTO_RELOAD="true">
<configurations> <configurations />
<configuration PROFILE_NAME="Debug-GCC" ENABLED="true" CONFIG_NAME="Debug" TOOLCHAIN_NAME="GCC" />
</configurations>
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="4491295e-723c-4e0b-b7b4-9be1cbde5db8" name="更改" comment="CMakeLists.txt"> <list default="true" id="4491295e-723c-4e0b-b7b4-9be1cbde5db8" name="更改" comment="Update CMakeLists.txt">
<change afterPath="$PROJECT_DIR$/pojcs101_M02746_josephus_problem_simulation.cpp" afterDir="false" /> <change afterPath="$PROJECT_DIR$/JLOI2009_binary_tree_GIVEUP.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/pojcs101_M03247_palindromic_prime.cpp" afterDir="false" /> <change afterPath="$PROJECT_DIR$/NOIP2016J_bay.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/pojcs101_M03247_palindromic_prime_init1.py" afterDir="false" /> <change afterPath="$PROJECT_DIR$/dp/TJOI2007_walk_segments_dp.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/pojcs101_T01011_sticks.cpp" afterDir="false" /> <change afterPath="$PROJECT_DIR$/dsa/linear_list/dsa_0201_dictionary.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/pojcs101_T01011_sticks_WRONG.cpp" afterDir="false" /> <change afterPath="$PROJECT_DIR$/dsa/linear_list/dsa_0202_card_stacking.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" /> <change afterPath="$PROJECT_DIR$/graph/ECNA2001_sort_letters.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/graph/luogu_P3916_graph_iteration.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/graph/luogu_P3916_graph_iteration_WRONG.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/luogu_P1160_biodir_linked_list.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/practice_of_programming/pp_practise202610a_01.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/editor.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/editor.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" 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$/dp/backpack_dp/NOIP2006S_jinming_budget_dp_knapsack.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/dp/backpack_dp/NOIP2006S_jinming_budget_dp_knapsack.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/noip2012s_kings_game.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/JLOI2009_binary_tree.cpp" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -93,6 +128,9 @@
</option> </option>
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component> </component>
<component name="HighlightingSettingsPerFile">
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
</component>
<component name="MacroExpansionManager"> <component name="MacroExpansionManager">
<option name="directoryName" value="7Sv2hfws" /> <option name="directoryName" value="7Sv2hfws" />
</component> </component>
@@ -114,63 +152,97 @@
<option name="hideEmptyMiddlePackages" value="true" /> <option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" /> <option name="showLibraryContents" value="true" />
</component> </component>
<component name="PropertiesComponent"><![CDATA[{ <component name="PropertiesComponent">{
"keyToString": { &quot;keyToString&quot;: {
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true", &quot;ASKED_SHARE_PROJECT_CONFIGURATION_FILES&quot;: &quot;true&quot;,
"C/C++ 文件.D_pojcs101_M02692.cpp.executor": "Run", &quot;C/C++ 文件.D_pojcs101_M02692.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.luogu_UVA755.cpp.executor": "Run", &quot;C/C++ 文件.luogu_P3916_graph_iteration.cpp.executor&quot;: &quot;Debug&quot;,
"C/C++ 文件.luogu_ez_B3628.cpp.executor": "Run", &quot;C/C++ 文件.luogu_UVA755.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.luogu_model_dsu_P3367.cpp.executor": "Run", &quot;C/C++ 文件.luogu_ez_B3628.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.ojcs101_E01003.cpp.executor": "Run", &quot;C/C++ 文件.luogu_model_dsu_P3367.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.ojcs101_E01218.cpp.executor": "Run", &quot;C/C++ 文件.noip2003j_bigint.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.ojcs101_E02883.cpp.executor": "Run", &quot;C/C++ 文件.ojcs101_E01003.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.pojcs101_M01017_6_boxes.cpp.executor": "Run", &quot;C/C++ 文件.ojcs101_E01218.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.pojcs101_M01088_ski.cpp.executor": "Run", &quot;C/C++ 文件.ojcs101_E02883.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.pojcs101_M01321_chest_grid.cpp.executor": "Debug", &quot;C/C++ 文件.pojcs101_M01017_6_boxes.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.pojcs101_M01328_radar_greedy.cpp.executor": "Debug", &quot;C/C++ 文件.pojcs101_M01088_ski.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.pojcs101_M01852_ants_falling.cpp.executor": "Run", &quot;C/C++ 文件.pojcs101_M01321_chest_grid.cpp.executor&quot;: &quot;Debug&quot;,
"C/C++ 文件.pojcs101_M01922_ride_follower.cpp.executor": "Run", &quot;C/C++ 文件.pojcs101_M01328_radar_greedy.cpp.executor&quot;: &quot;Debug&quot;,
"C/C++ 文件.pojcs101_M02039_snakey_encryption.cpp.executor": "Run", &quot;C/C++ 文件.pojcs101_M01852_ants_falling.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.pojcs101_M02431_cows_gas_leak.cpp.executor": "Debug", &quot;C/C++ 文件.pojcs101_M01922_ride_follower.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.pojcs101_M02524_ubiquitous_religions_dsu.cpp.executor": "Run", &quot;C/C++ 文件.pojcs101_M02039_snakey_encryption.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.pojcs101_M02692.cpp.executor": "Run", &quot;C/C++ 文件.pojcs101_M02431_cows_gas_leak.cpp.executor&quot;: &quot;Debug&quot;,
"C/C++ 文件.pojcs101_M02692_12_coins.cpp.executor": "Run", &quot;C/C++ 文件.pojcs101_M02524_ubiquitous_religions_dsu.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.pojcs101_M02694_polish_notation_tree.cpp.executor": "Run", &quot;C/C++ 文件.pojcs101_M02692.cpp.executor&quot;: &quot;Run&quot;,
"C/C++ 文件.pojcs101_M03247_palindromic_prime.cpp.executor": "Run", &quot;C/C++ 文件.pojcs101_M02692_12_coins.cpp.executor&quot;: &quot;Run&quot;,
"CMake 应用程序.exercises.executor": "Run", &quot;C/C++ 文件.pojcs101_M02694_polish_notation_tree.cpp.executor&quot;: &quot;Run&quot;,
"CMake 应用程序.pojcs101_M02694_polish_notation_tree.executor": "Run", &quot;C/C++ 文件.pojcs101_M03247_palindromic_prime.cpp.executor&quot;: &quot;Run&quot;,
"CMake 应用程序.pojcs101_T01011_sticks.executor": "Run", &quot;C/C++ 文件.pojcs101_M03441_sum_zero.cpp.executor&quot;: &quot;Run&quot;,
"CMake 调试.exercises.executor": "Debug", &quot;CMake 应用程序.JLOI2009_binary_tree.executor&quot;: &quot;Run&quot;,
"CidrDebugProfileConversion": "true", &quot;CMake 应用程序.NOIP2005J_herbs_dp_backpack.executor&quot;: &quot;Run&quot;,
"ModuleVcsDetector.initialDetectionPerformed": "true", &quot;CMake 应用程序.NOIP2005J_herbs_dp_backpack_MWASTE_BETTER.executor&quot;: &quot;Run&quot;,
"Python.lc_127.executor": "Run", &quot;CMake 应用程序.NOIP2006S_jinming_budget_dp_knapsack.executor&quot;: &quot;Run&quot;,
"Python.pojcs101_M03247_palindromic_prime_init1.executor": "Run", &quot;CMake 应用程序.NOIP2016J_bay.executor&quot;: &quot;Run&quot;,
"RunOnceActivity.RadMigrateCodeStyle": "true", &quot;CMake 应用程序.SHOI2002_ski_dp.executor&quot;: &quot;Run&quot;,
"RunOnceActivity.ShowReadmeOnStart": "true", &quot;CMake 应用程序.dp__TJOI2007_walk_segments_dp.executor&quot;: &quot;Run&quot;,
"RunOnceActivity.cidr.known.project.marker": "true", &quot;CMake 应用程序.dsa__linear_list__dsa_0201_dictionary.executor&quot;: &quot;Run&quot;,
"RunOnceActivity.git.unshallow": "true", &quot;CMake 应用程序.exercises.executor&quot;: &quot;Run&quot;,
"RunOnceActivity.readMode.enableVisualFormatting": "true", &quot;CMake 应用程序.gdbh.executor&quot;: &quot;Run&quot;,
"RunOnceActivity.typescript.service.memoryLimit.init": "true", &quot;CMake 应用程序.graph__luogu_P3916_graph_iteration.executor&quot;: &quot;Run&quot;,
"RunOnceActivity.west.config.association.type.startup.service": "true", &quot;CMake 应用程序.lc_135_candy.executor&quot;: &quot;Run&quot;,
"cf.first.check.clang-format": "false", &quot;CMake 应用程序.luogu_P1160_biodir_linked_list.executor&quot;: &quot;Run&quot;,
"cidr.known.project.marker": "true", &quot;CMake 应用程序.luogu_P2196_miner_dp.executor&quot;: &quot;Run&quot;,
"codeWithMe.voiceChat.enabledByDefault": "false", &quot;CMake 应用程序.noip2003j_bigint.executor&quot;: &quot;Run&quot;,
"deletionFromPopupRequiresConfirmation": "false", &quot;CMake 应用程序.pojcs101_M02694_polish_notation_tree.executor&quot;: &quot;Run&quot;,
"git-widget-placeholder": "main", &quot;CMake 应用程序.pojcs101_M03441_sum_zero.executor&quot;: &quot;Run&quot;,
"last_opened_file_path": "/Users/roger/coding/exercises", &quot;CMake 应用程序.pojcs101_M03532.executor&quot;: &quot;Run&quot;,
"node.js.detected.package.jshint": "true", &quot;CMake 应用程序.pojcs101_M03704_brackets.executor&quot;: &quot;Run&quot;,
"node.js.selected.package.jshint": "", &quot;CMake 应用程序.pojcs101_T01011_sticks.executor&quot;: &quot;Run&quot;,
"nodejs_package_manager_path": "npm", &quot;CMake 应用程序.pojcs101_T04117_split_int.executor&quot;: &quot;Run&quot;,
"org.rust.first.attach.projects": "true", &quot;CMake 应用程序.pojcs101_T12559_biggest_smallest_combination.executor&quot;: &quot;Run&quot;,
"settings.editor.selected.configurable": "CPPToolchains" &quot;CMake 应用程序.pojcs101_T27104_chicken_monitors.executor&quot;: &quot;Run&quot;,
&quot;CMake 应用程序.pojcs101_T27373_biggest_combination_t2.executor&quot;: &quot;Run&quot;,
&quot;CMake 应用程序.test.executor&quot;: &quot;Run&quot;,
&quot;CMake 调试.exercises.executor&quot;: &quot;Debug&quot;,
&quot;CidrDebugProfileConversion&quot;: &quot;true&quot;,
&quot;ModuleVcsDetector.initialDetectionPerformed&quot;: &quot;true&quot;,
&quot;Python.lc_127.executor&quot;: &quot;Run&quot;,
&quot;Python.noi2001_food_chain_dsu.executor&quot;: &quot;Run&quot;,
&quot;Python.pojcs101_M03247_palindromic_prime_init1.executor&quot;: &quot;Debug&quot;,
&quot;RunOnceActivity.RadMigrateCodeStyle&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.cidr.known.project.marker&quot;: &quot;true&quot;,
&quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
&quot;RunOnceActivity.readMode.enableVisualFormatting&quot;: &quot;true&quot;,
&quot;RunOnceActivity.typescript.service.memoryLimit.init&quot;: &quot;true&quot;,
&quot;RunOnceActivity.west.config.association.type.startup.service&quot;: &quot;true&quot;,
&quot;cf.first.check.clang-format&quot;: &quot;false&quot;,
&quot;cidr.known.project.marker&quot;: &quot;true&quot;,
&quot;codeWithMe.voiceChat.enabledByDefault&quot;: &quot;false&quot;,
&quot;deletionFromPopupRequiresConfirmation&quot;: &quot;false&quot;,
&quot;git-widget-placeholder&quot;: &quot;main&quot;,
&quot;last_opened_file_path&quot;: &quot;/Users/roger/coding/exercises/graph&quot;,
&quot;node.js.detected.package.jshint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.jshint&quot;: &quot;&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;org.rust.first.attach.projects&quot;: &quot;true&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;preferences.sourceCode.C++&quot;
} }
}]]></component> }</component>
<component name="RecentsManager"> <component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS"> <key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/graph" />
<recent name="$PROJECT_DIR$" /> <recent name="$PROJECT_DIR$" />
<recent name="$PROJECT_DIR$/dp/backpack_dp" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/dsa/linear_list" />
<recent name="$PROJECT_DIR$/dp/backpack_dp" />
<recent name="$PROJECT_DIR$/_others" />
<recent name="$PROJECT_DIR$/dp" />
</key> </key>
</component> </component>
<component name="RunManager" selected="CMake 应用程序.pojcs101_T01011_sticks"> <component name="RunManager" selected="CMake 应用程序.dsa__linear_list__dsa_0201_dictionary">
<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"> <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"> <method v="2">
<option name="BeforeTestRunTask" enabled="true" /> <option name="BeforeTestRunTask" enabled="true" />
@@ -191,12 +263,122 @@
<option name="BeforeTestRunTask" enabled="true" /> <option name="BeforeTestRunTask" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="CMakeCXXCompilerId" 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="CMakeCXXCompilerId" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="CMakeCXXCompilerId"> <configuration name="JLOI2009_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="JLOI2009_binary_tree" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="JLOI2009_binary_tree">
<method v="2"> <method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" /> <option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration default="true" type="CMakeRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true"> <configuration name="JLOI2009_binary_tree_GIVEUP" 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="JLOI2009_binary_tree_GIVEUP" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="JLOI2009_binary_tree_GIVEUP">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="NOIP2003J_bigint" 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="NOIP2003J_bigint" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="NOIP2003J_bigint">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="NOIP2016J_bay" 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="NOIP2016J_bay" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="NOIP2016J_bay">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="SHOI2002_ski" 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="SHOI2002_ski" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="SHOI2002_ski">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="SHOI2002_ski_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="SHOI2002_ski_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="SHOI2002_ski_WRONG">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="_others__qyz__gdbh" 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="_others__qyz__gdbh" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="_others__qyz__gdbh">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="_others__qyz__test" 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="_others__qyz__test" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="_others__qyz__test">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId" 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="cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dp__NOIP1996S_miner_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="dp__NOIP1996S_miner_dp" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__NOIP1996S_miner_dp">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dp__NOIP1996S_miner_dp_MWASTE" 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="dp__NOIP1996S_miner_dp_MWASTE" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__NOIP1996S_miner_dp_MWASTE">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dp__SHOI2002_ski_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="dp__SHOI2002_ski_dp" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__SHOI2002_ski_dp">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dp__TJOI2007_walk_segments_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="dp__TJOI2007_walk_segments_dp" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__TJOI2007_walk_segments_dp">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack" 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="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE" 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="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE_BETTER" 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="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE_BETTER" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE_BETTER">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG" 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="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack" 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="dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="dsa__linear_list__dsa_0201_dictionary" 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__linear_list__dsa_0201_dictionary" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="dsa__linear_list__dsa_0201_dictionary">
<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" />
</method>
</configuration>
<configuration name="graph__luogu_P3916_graph_iteration" 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__luogu_P3916_graph_iteration" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="graph__luogu_P3916_graph_iteration">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="graph__luogu_P3916_graph_iteration_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="graph__luogu_P3916_graph_iteration_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="graph__luogu_P3916_graph_iteration_WRONG">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="lc_135_candy" 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="lc_135_candy" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="lc_135_candy">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="luogu_P1160_biodir_linked_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="luogu_P1160_biodir_linked_list" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="luogu_P1160_biodir_linked_list">
<method v="2"> <method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" /> <option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method> </method>
@@ -236,16 +418,6 @@
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" /> <option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="pojcs101_M01088_ski" 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="pojcs101_M01088_ski" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01088_ski">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="pojcs101_M01088_ski_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="pojcs101_M01088_ski_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01088_ski_WRONG">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="pojcs101_M01321_chest_grid" 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="pojcs101_M01321_chest_grid" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01321_chest_grid"> <configuration name="pojcs101_M01321_chest_grid" 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="pojcs101_M01321_chest_grid" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01321_chest_grid">
<method v="2"> <method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" /> <option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
@@ -311,17 +483,86 @@
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" /> <option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="pojcs101_M03441_sum_zero" 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="pojcs101_M03441_sum_zero" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M03441_sum_zero">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="pojcs101_M03532" 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="pojcs101_M03532" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M03532">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="pojcs101_M03704_brackets" 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="pojcs101_M03704_brackets" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M03704_brackets">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="pojcs101_T01011_sticks" 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="pojcs101_T01011_sticks" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T01011_sticks"> <configuration name="pojcs101_T01011_sticks" 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="pojcs101_T01011_sticks" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T01011_sticks">
<method v="2"> <method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" /> <option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="pojcs101_M03247_palindromic_prime.cpp" type="CppFileRunConfiguration" factoryName="CppFileRunConfiguration" temporary="true" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_M03247_palindromic_prime.cpp" CONFIG_NAME="pojcs101_M03247_palindromic_prime.cpp"> <configuration name="pojcs101_T01011_sticks_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="pojcs101_T01011_sticks_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T01011_sticks_WRONG">
<option name="sourceFile" value="pojcs101_M03247_palindromic_prime.cpp" />
<method v="2"> <method v="2">
<option name="com.jetbrains.cidr.cpp.runfile.CppFileBuildBeforeRunTaskProvider$BasicBuildBeforeRunTask" enabled="true" /> <option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="pojcs101_T04117_split_int" 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="pojcs101_T04117_split_int" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T04117_split_int">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="pojcs101_T12559_biggest_smallest_combination" 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="pojcs101_T12559_biggest_smallest_combination" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T12559_biggest_smallest_combination">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="pojcs101_T12559_biggest_smallest_combination_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="pojcs101_T12559_biggest_smallest_combination_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T12559_biggest_smallest_combination_WRONG">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="pojcs101_T27104_chicken_monitors" 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="pojcs101_T27104_chicken_monitors" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T27104_chicken_monitors">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="pojcs101_T27373_biggest_combination_t2" 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="pojcs101_T27373_biggest_combination_t2" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T27373_biggest_combination_t2">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="pojcs101_T27373_biggest_combination_t2_TLE" 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="pojcs101_T27373_biggest_combination_t2_TLE" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_T27373_biggest_combination_t2_TLE">
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
<configuration name="noi2001_food_chain_dsu" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="exercises" />
<option name="ENV_FILES" value="" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="DEBUG_JUST_MY_CODE" value="false" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="RUN_TOOL" value="" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/noi2001_food_chain_dsu.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="pojcs101_M03247_palindromic_prime_init1" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true"> <configuration name="pojcs101_M03247_palindromic_prime_init1" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="exercises" /> <module name="exercises" />
<option name="ENV_FILES" value="" /> <option name="ENV_FILES" value="" />
@@ -348,40 +589,139 @@
<method v="2" /> <method v="2" />
</configuration> </configuration>
<list> <list>
<item itemvalue="C/C++ 文件.pojcs101_M03247_palindromic_prime.cpp" /> <item itemvalue="CMake 应用程序._others__qyz__gdbh" />
<item itemvalue="CMake 应用程序.pojcs101_M02746_josephus_problem" /> <item itemvalue="CMake 应用程序._others__qyz__test" />
<item itemvalue="CMake 应用程序.CMakeCXXCompilerId" /> <item itemvalue="CMake 应用程序.cmake-build-debug-gcc__CMakeFiles__4.3.1__CompilerIdCXX__CMakeCXXCompilerId" />
<item itemvalue="CMake 应用程序.dp__backpack_dp__NOIP2005J_herbs_dp_knapsack" />
<item itemvalue="CMake 应用程序.dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE" />
<item itemvalue="CMake 应用程序.dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE_BETTER" />
<item itemvalue="CMake 应用程序.dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG" />
<item itemvalue="CMake 应用程序.dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack" />
<item itemvalue="CMake 应用程序.dp__NOIP1996S_miner_dp" />
<item itemvalue="CMake 应用程序.dp__NOIP1996S_miner_dp_MWASTE" />
<item itemvalue="CMake 应用程序.dp__SHOI2002_ski_dp" />
<item itemvalue="CMake 应用程序.dp__TJOI2007_walk_segments_dp" />
<item itemvalue="CMake 应用程序.dsa__linear_list__dsa_0201_dictionary" />
<item itemvalue="CMake 应用程序.graph__ECNA2001_sort_letters" />
<item itemvalue="CMake 应用程序.graph__luogu_P3916_graph_iteration" />
<item itemvalue="CMake 应用程序.graph__luogu_P3916_graph_iteration_WRONG" />
<item itemvalue="CMake 应用程序.JLOI2009_binary_tree" />
<item itemvalue="CMake 应用程序.JLOI2009_binary_tree_GIVEUP" />
<item itemvalue="CMake 应用程序.lc_135_candy" />
<item itemvalue="CMake 应用程序.luogu_ez_B3628" /> <item itemvalue="CMake 应用程序.luogu_ez_B3628" />
<item itemvalue="CMake 应用程序.luogu_P1160_biodir_linked_list" />
<item itemvalue="CMake 应用程序.luogu_template_dsu_P3367" /> <item itemvalue="CMake 应用程序.luogu_template_dsu_P3367" />
<item itemvalue="CMake 应用程序.NOIP2003J_bigint" />
<item itemvalue="CMake 应用程序.NOIP2016J_bay" />
<item itemvalue="CMake 应用程序.pojcs101_E01003" /> <item itemvalue="CMake 应用程序.pojcs101_E01003" />
<item itemvalue="CMake 应用程序.pojcs101_E01218" /> <item itemvalue="CMake 应用程序.pojcs101_E01218" />
<item itemvalue="CMake 应用程序.pojcs101_E02883" /> <item itemvalue="CMake 应用程序.pojcs101_E02883" />
<item itemvalue="CMake 应用程序.pojcs101_M01002_memorable_number" /> <item itemvalue="CMake 应用程序.pojcs101_M01002_memorable_number" />
<item itemvalue="CMake 应用程序.pojcs101_M01017_6_boxes" /> <item itemvalue="CMake 应用程序.pojcs101_M01017_6_boxes" />
<item itemvalue="CMake 应用程序.pojcs101_M01088_ski" />
<item itemvalue="CMake 应用程序.pojcs101_M01088_ski_WRONG" />
<item itemvalue="CMake 应用程序.pojcs101_M01321_chest_grid" /> <item itemvalue="CMake 应用程序.pojcs101_M01321_chest_grid" />
<item itemvalue="CMake 应用程序.pojcs101_M01328_radar_greedy" />
<item itemvalue="CMake 应用程序.pojcs101_M01328_radar_greedy_WRONG" /> <item itemvalue="CMake 应用程序.pojcs101_M01328_radar_greedy_WRONG" />
<item itemvalue="CMake 应用程序.pojcs101_M01328_radar_greedy" />
<item itemvalue="CMake 应用程序.pojcs101_M01852_ants_falling" /> <item itemvalue="CMake 应用程序.pojcs101_M01852_ants_falling" />
<item itemvalue="CMake 应用程序.pojcs101_M01922_ride_follower" /> <item itemvalue="CMake 应用程序.pojcs101_M01922_ride_follower" />
<item itemvalue="CMake 应用程序.pojcs101_M02039_snakey_encryption" /> <item itemvalue="CMake 应用程序.pojcs101_M02039_snakey_encryption" />
<item itemvalue="CMake 应用程序.pojcs101_M02431_cows_gas_leak_WRONG" /> <item itemvalue="CMake 应用程序.pojcs101_M02431_cows_gas_leak_WRONG" />
<item itemvalue="CMake 应用程序.pojcs101_M02524_ubiquitous_religions_dsu" /> <item itemvalue="CMake 应用程序.pojcs101_M02524_ubiquitous_religions_dsu" />
<item itemvalue="CMake 应用程序.pojcs101_M02692_12_coins" />
<item itemvalue="CMake 应用程序.pojcs101_M02692_12_coins_WRONG" /> <item itemvalue="CMake 应用程序.pojcs101_M02692_12_coins_WRONG" />
<item itemvalue="CMake 应用程序.pojcs101_M02692_12_coins" />
<item itemvalue="CMake 应用程序.pojcs101_M02694_polish_notation_tree" /> <item itemvalue="CMake 应用程序.pojcs101_M02694_polish_notation_tree" />
<item itemvalue="CMake 应用程序.pojcs101_M02746_josephus_problem" />
<item itemvalue="CMake 应用程序.pojcs101_M03247_palindromic_prime" /> <item itemvalue="CMake 应用程序.pojcs101_M03247_palindromic_prime" />
<item itemvalue="CMake 应用程序.pojcs101_M03441_sum_zero" />
<item itemvalue="CMake 应用程序.pojcs101_M03532" />
<item itemvalue="CMake 应用程序.pojcs101_M03704_brackets" />
<item itemvalue="CMake 应用程序.pojcs101_T01011_sticks_WRONG" />
<item itemvalue="CMake 应用程序.pojcs101_T01011_sticks" /> <item itemvalue="CMake 应用程序.pojcs101_T01011_sticks" />
<item itemvalue="CMake 应用程序.pojcs101_T04117_split_int" />
<item itemvalue="CMake 应用程序.pojcs101_T12559_biggest_smallest_combination_WRONG" />
<item itemvalue="CMake 应用程序.pojcs101_T12559_biggest_smallest_combination" />
<item itemvalue="CMake 应用程序.pojcs101_T27104_chicken_monitors" />
<item itemvalue="CMake 应用程序.pojcs101_T27373_biggest_combination_t2" />
<item itemvalue="CMake 应用程序.pojcs101_T27373_biggest_combination_t2_TLE" />
<item itemvalue="CMake 应用程序.SHOI2002_ski" />
<item itemvalue="CMake 应用程序.SHOI2002_ski_WRONG" />
<item itemvalue="Python.noi2001_food_chain_dsu" />
<item itemvalue="Python.pojcs101_M03247_palindromic_prime_init1" /> <item itemvalue="Python.pojcs101_M03247_palindromic_prime_init1" />
</list> </list>
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="C/C++ 文件.pojcs101_M03247_palindromic_prime.cpp" />
<item itemvalue="Python.pojcs101_M03247_palindromic_prime_init1" /> <item itemvalue="Python.pojcs101_M03247_palindromic_prime_init1" />
<item itemvalue="Python.noi2001_food_chain_dsu" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
<component name="SelectedDebugProfileService">{
&quot;profileIdByStamp&quot;: [
{
&quot;first&quot;: {
&quot;##RUN_CONFIGURATION##&quot;: &quot;CMake 应用程序.JLOI2009_binary_tree&quot;,
&quot;cmake&quot;: &quot;CMakeBuildProfile:Debug-GCC&quot;
},
&quot;second&quot;: &quot;2c1c9069-eeff-46e4-9092-db62e2b1ded5&quot;
},
{
&quot;first&quot;: {
&quot;##RUN_CONFIGURATION##&quot;: &quot;CMake 应用程序._others__qyz__gdbh&quot;,
&quot;cmake&quot;: &quot;CMakeBuildProfile:Debug-GCC&quot;
},
&quot;second&quot;: &quot;2c1c9069-eeff-46e4-9092-db62e2b1ded5&quot;
},
{
&quot;first&quot;: {
&quot;##RUN_CONFIGURATION##&quot;: &quot;CMake 应用程序.dp__TJOI2007_walk_segments_dp&quot;,
&quot;cmake&quot;: &quot;CMakeBuildProfile:Debug-GCC&quot;
},
&quot;second&quot;: &quot;2c1c9069-eeff-46e4-9092-db62e2b1ded5&quot;
},
{
&quot;first&quot;: {
&quot;##RUN_CONFIGURATION##&quot;: &quot;CMake 应用程序.luogu_P1160_biodir_linked_list&quot;,
&quot;cmake&quot;: &quot;CMakeBuildProfile:Debug-GCC&quot;
},
&quot;second&quot;: &quot;2c1c9069-eeff-46e4-9092-db62e2b1ded5&quot;
},
{
&quot;first&quot;: {
&quot;##RUN_CONFIGURATION##&quot;: &quot;CMake 应用程序.NOIP2016J_bay&quot;,
&quot;cmake&quot;: &quot;CMakeBuildProfile:Debug-GCC&quot;
},
&quot;second&quot;: &quot;2c1c9069-eeff-46e4-9092-db62e2b1ded5&quot;
},
{
&quot;first&quot;: {
&quot;##RUN_CONFIGURATION##&quot;: &quot;CMake 应用程序.graph__luogu_P3916_graph_iteration&quot;,
&quot;cmake&quot;: &quot;CMakeBuildProfile:Debug-GCC&quot;
},
&quot;second&quot;: &quot;2c1c9069-eeff-46e4-9092-db62e2b1ded5&quot;
},
{
&quot;first&quot;: {
&quot;##RUN_CONFIGURATION##&quot;: &quot;CMake 应用程序.dsa__linear_list__dsa_0201_dictionary&quot;,
&quot;cmake&quot;: &quot;CMakeBuildProfile:Debug-GCC&quot;
},
&quot;second&quot;: &quot;2c1c9069-eeff-46e4-9092-db62e2b1ded5&quot;
},
{
&quot;first&quot;: {
&quot;##RUN_CONFIGURATION##&quot;: &quot;CMake 应用程序.NOIP2003J_bigint&quot;,
&quot;cmake&quot;: &quot;CMakeBuildProfile:Debug-GCC&quot;
},
&quot;second&quot;: &quot;2c1c9069-eeff-46e4-9092-db62e2b1ded5&quot;
},
{
&quot;first&quot;: {
&quot;##RUN_CONFIGURATION##&quot;: &quot;CMake 应用程序.pojcs101_T27373_biggest_combination_t2&quot;,
&quot;cmake&quot;: &quot;CMakeBuildProfile:Debug-GCC&quot;
},
&quot;second&quot;: &quot;2c1c9069-eeff-46e4-9092-db62e2b1ded5&quot;
}
],
&quot;modificationCount&quot;: 69
}</component>
<component name="SharedIndexes"> <component name="SharedIndexes">
<attachedChunks> <attachedChunks>
<set> <set>
@@ -399,6 +739,8 @@
<updated>1784800801763</updated> <updated>1784800801763</updated>
<workItem from="1784856532675" duration="4766000" /> <workItem from="1784856532675" duration="4766000" />
<workItem from="1785509013065" duration="2577000" /> <workItem from="1785509013065" duration="2577000" />
<workItem from="1785852394849" duration="8298000" />
<workItem from="1785935635180" duration="9461000" />
</task> </task>
<servers /> <servers />
</component> </component>
@@ -412,29 +754,53 @@
<isAutomaticBootstrapAfterUpdate value="false" /> <isAutomaticBootstrapAfterUpdate value="false" />
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<MESSAGE value="1" />
<MESSAGE value="CMakeLists.txt" /> <MESSAGE value="CMakeLists.txt" />
<option name="LAST_COMMIT_MESSAGE" value="CMakeLists.txt" /> <MESSAGE value="1" />
<MESSAGE value="Update CMakeLists.txt" />
<option name="LAST_COMMIT_MESSAGE" value="Update CMakeLists.txt" />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager> <breakpoint-manager>
<breakpoints> <breakpoints>
<line-breakpoint enabled="true" type="CMakeLineBreakpoint"> <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/CMakeLists.txt</url> <url>file://$PROJECT_DIR$/noi2001_food_chain_dsu.py</url>
<line>12</line> <line>75</line>
<option name="timeStamp" value="7" /> <option name="timeStamp" value="6" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/pojcs101_M03441_sum_zero.cpp</url>
<line>32</line>
<option name="timeStamp" value="15" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/dp/TJOI2007_walk_segments_dp.cpp</url>
<line>35</line>
<option name="timeStamp" value="24" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/dp/TJOI2007_walk_segments_dp.cpp</url>
<line>45</line>
<option name="timeStamp" value="25" />
</line-breakpoint>
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
<url>file://$PROJECT_DIR$/graph/luogu_P3916_graph_iteration.cpp</url>
<line>66</line>
<option name="timeStamp" value="36" />
</line-breakpoint> </line-breakpoint>
</breakpoints> </breakpoints>
<default-breakpoints>
<breakpoint type="CMakeExceptionBreakpoint" />
</default-breakpoints>
</breakpoint-manager> </breakpoint-manager>
<watches-manager>
<configuration name="CMakeRunConfiguration">
<watch expression="ans_cache" language="C++" />
</configuration>
</watches-manager>
</component> </component>
<component name="XSLT-Support.FileAssociations.UIState"> <component name="XSLT-Support.FileAssociations.UIState">
<expand /> <expand />
<select /> <select />
</component> </component>
<component name="com.intellij.coverage.CoverageDataManagerImpl"> <component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/exercises$noi2001_food_chain_dsu.coverage" NAME="noi2001_food_chain_dsu 覆盖结果" MODIFIED="1785943248536" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/exercises$lc_127.coverage" NAME="lc_127 覆盖结果" MODIFIED="1784859593317" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/exercises$lc_127.coverage" NAME="lc_127 覆盖结果" MODIFIED="1784859593317" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/exercises$pojcs101_M03247_palindromic_prime_init1.coverage" NAME="pojcs101_M03247_palindromic_prime_init1 覆盖结果" MODIFIED="1785513899078" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/exercises$pojcs101_M03247_palindromic_prime_init1.coverage" NAME="pojcs101_M03247_palindromic_prime_init1 覆盖结果" MODIFIED="1785513899078" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
</component> </component>
+19 -5
View File
@@ -1,15 +1,29 @@
cmake_minimum_required(VERSION 3.10) cmake_minimum_required(VERSION 3.10)
project(exercises) project(exercises)
# 设置 C++ 标准(例如 C++17
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
# 递归查找当前目录下所有的 .cpp 文件
file(GLOB_RECURSE SOURCES "*.cpp") file(GLOB_RECURSE SOURCES "*.cpp")
# 遍历所有找到的 .cpp 文件,为每个文件单独创建一个可执行目标
foreach (source ${SOURCES}) foreach (source ${SOURCES})
# 获取文件名(不带扩展名)作为可执行文件的名字 # 获取文件所在目录(绝对路径)
get_filename_component(dir ${source} DIRECTORY)
# 计算相对于源码根目录的路径
file(RELATIVE_PATH rel_dir ${CMAKE_CURRENT_SOURCE_DIR} ${dir})
# 获取文件名(不带扩展名)
get_filename_component(name ${source} NAME_WE) get_filename_component(name ${source} NAME_WE)
add_executable(${name} ${source})
# 构造带相对路径的目标名,例如 src_utils_foo
if (rel_dir STREQUAL "")
set(target_name "${name}")
else ()
string(REPLACE "/" "__" rel_dir_flat "${rel_dir}")
set(target_name "${rel_dir_flat}__${name}")
endif ()
add_executable(${target_name} ${source})
# 顺便把可执行文件输出到与源文件对应的目录中(可选)
set_target_properties(${target_name} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${rel_dir}"
)
endforeach () endforeach ()
+87
View File
@@ -0,0 +1,87 @@
#include <iostream>
#include <vector>
#include <cassert>
using namespace std;
class Graph {
public:
struct Node {
vector<int> neighbors;
int father = -1;
int depth = -1;
};
vector<Node> nodes;
int depth = -1, breadth = -1;
void connect(int x, int y) {
assert(x < nodes.size() && y < nodes.size());
nodes[x].neighbors.push_back(y);
nodes[y].neighbors.push_back(x);
}
void init_tree() {
vector<int> depths_map;
init_tree(0, 0, depths_map);
depth = depths_map.size();
breadth = -1;
for (const auto& d : depths_map) {
breadth = max(breadth, d);
}
}
void init_tree(int node_idx, int current_depth, vector<int>& depths_map) {
if (depths_map.size() <= current_depth) { depths_map.push_back(0); }
depths_map[current_depth]++;
for (const auto& neighbor : nodes[node_idx].neighbors) {
if (neighbor == nodes[node_idx].father) { continue; }
nodes[neighbor].father = node_idx;
nodes[neighbor].depth = current_depth + 1;
init_tree(neighbor, current_depth + 1, depths_map);
}
}
int get_cost(int start, int end) {
int cost = 0;
while (nodes[start].depth > nodes[end].depth) {
cost += 2;
start = nodes[start].father;
}
while (nodes[start].depth < nodes[end].depth) {
cost += 1;
end = nodes[end].father;
}
while (start != end) {
cost += 3;
start = nodes[start].father;
end = nodes[end].father;
}
return cost;
}
};
Graph tree;
int n;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int x, y;
cin >> n;
tree.nodes.resize(n);
for (int _ = 1; _ < n; _++) {
cin >> x >> y;
tree.connect(x - 1, y - 1);
}
tree.init_tree();
cout << tree.depth << endl << tree.breadth << endl;
cin >> x >> y;
cout << tree.get_cost(x - 1, y - 1) << endl;
return 0;
}
+64
View File
@@ -0,0 +1,64 @@
#include <iostream>
#include <vector>
#include <cassert>
using namespace std;
class BinaryTree {
public:
struct Node {
int left = -1, right = -1, father = -1;
};
vector<Node> nodes;
int depth = -1, breadth = -1;
void connect(int father, int son) {
assert(father < nodes.size() && son < nodes.size());
if (nodes[son].father != -1 && nodes[father].father == -1) { swap(father, son); }
nodes[son].father = father;
if (nodes[father].left == -1) {
nodes[father].left = son;
} else {
nodes[father].right = son;
}
}
void dfs() {
depth = -1, breadth = -1;
vector<int> depths_map;
dfs(0, 0, depths_map);
for (const int d : depths_map) {
breadth = max(breadth, d);
}
}
void dfs(int node_idx, int _depth, vector<int>& depths_map) {
depth = max(depth, _depth);
if (_depth >= depths_map.size()) {
depths_map.push_back(0);
}
depths_map[_depth]++;
if (nodes[node_idx].left != -1) {
dfs(nodes[node_idx].left, _depth + 1, depths_map);
}
if (nodes[node_idx].right != -1) {
dfs(nodes[node_idx].right, _depth + 1, depths_map);
}
}
};
BinaryTree tree;
int n;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
tree.nodes.resize(n);
return 0;
}
+104
View File
@@ -0,0 +1,104 @@
#include <cmath>
#include <iostream>
#include <utility>
#include <vector>
using namespace std;
/// 只处理 500 位!
class BigInt {
public:
using bigint = vector<unsigned long long>;
static constexpr unsigned int BASE_DIGITS = 8;
const unsigned long long BASE = static_cast<unsigned long long>(std::pow(10, BASE_DIGITS));
static constexpr size_t TARGET_SIZE = 125;
bigint value;
BigInt() : value({0}) { organize(); }
BigInt(bigint v) : value(std::move(v)) { organize(); }
BigInt(unsigned long long v) {
value.push_back(v);
organize();
}
void organize() {
value.resize(TARGET_SIZE, 0);
for (int i = 0; i < TARGET_SIZE - 1; i++) {
value[i + 1] += value[i] / BASE;
value[i] %= BASE;
}
value[TARGET_SIZE - 1] %= BASE;
}
BigInt& operator=(const BigInt& other) {
value = other.value;
organize();
return *this;
}
BigInt operator*(const BigInt& other) const {
BigInt ans(0);
for (int i = 0; i < TARGET_SIZE; i++) {
for (int j = 0; i + j < TARGET_SIZE; j++) {
ans.value[i + j] += value[i] * other.value[j];
}
}
ans.organize();
return ans;
}
BigInt operator*(const unsigned long other) const {
BigInt ans(*this);
ans.value[0] *= other;
ans.organize();
return ans;
}
template <typename T>
BigInt operator*=(const T& other) {
*this = *this * other;
return *this;
}
[[nodiscard]] BigInt pow(unsigned int exp) const {
if (exp == 0) { return {1}; }
if (exp == 1) { return *this; }
BigInt ans = (*this * *this).pow(exp / 2);
if (exp % 2 == 1) {
ans *= *this;
}
return ans;
}
[[nodiscard]] string to_string(size_t digits = 500) const {
string s;
for (int i = 0; i < TARGET_SIZE; i++) {
string current = std::to_string(value[i]);
if (current.size() < BASE_DIGITS) {
current.insert(0, BASE_DIGITS - current.size(), '0');
}
s.insert(0, current);
}
return s.substr(s.size() - digits, s.size());
}
};
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
unsigned int exp;
cin >> exp;
cout << floor(exp * log10(2)) + 1 << endl;
BigInt ans = BigInt(2).pow(exp);
ans.value[0] -= 1; // 2^n 没问题
string s = ans.to_string(500);
for (int i = 0; i < 500; i += 50) {
cout << s.substr(i, 50) << endl;
}
return 0;
}
+71
View File
@@ -0,0 +1,71 @@
/*
* 在线处理?
*/
#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;
using Boat = pair<int, vector<int>>;
constexpr int MAX_N = 1e5 + 5, DAY_TIME = 86400;
vector<Boat> boats;
unordered_map<int, int> nations_statistics;
int start_time = -DAY_TIME, current_time = 0, pointer = 0, nations_count;
void modify_nations_statistics(vector<int> people, int multiplier = 1) {
for (int nation : people) {
if (nations_statistics[nation] == 0) { nations_count++; }
nations_statistics[nation] += multiplier;
if (nations_statistics[nation] == 0) { nations_count--; }
}
}
int count_nations() {
// int ans = 0;
// for (auto& [nation, count] : nations_statistics) {
// if (count > 0) { ans++; }
// }
// return ans;
return nations_count;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int arrival_time, people_amount;
cin >> arrival_time >> people_amount;
boats.emplace_back(arrival_time, vector<int>(people_amount));
for (int j = 0; j < people_amount; j++) {
cin >> boats.back().second[j];
}
// ONLINE
modify_nations_statistics(boats.back().second);
start_time = arrival_time - DAY_TIME;
while (pointer < boats.size() && boats[pointer].first <= start_time) {
modify_nations_statistics(boats[pointer].second, -1);
pointer++;
}
cout << count_nations() << endl;
}
// for (int i = 0, j = 0; i < boats.size(); i++) {
// current_time = boats[i].first + DAY_TIME;
// // modify_nations_statistics(boats[i].second);
// while (j < boats.size() && boats[j].first <= current_time) {
// modify_nations_statistics(boats[j].second);
// j++;
// }
// cout << count_nations() << endl;
// modify_nations_statistics(boats[i].second, -1);
// }
return 0;
}
+43
View File
@@ -0,0 +1,43 @@
#include <iostream>
using namespace std;
int primes[2001];
bool is_prime(int a) {
for (int i = 2; i * i <= a; i++) {
if (a % i != 0) {
continue;
} else {
return false;
}
}
return true;
}
void init_primes() {
int current_num = 2, i = 0;
for (;; current_num++) {
if (is_prime(current_num)) {
primes[i] = current_num;
i++;
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int a;
cin >> a;
if (a % 2 != 0 || a < 6) {
cout << "Error!" << endl;
} else
for (int i = 0; primes[i] <= a / 2; i++) {
if (is_prime(a - primes[i])) {
cout << a << "=" << i << "+" << a - i << endl;
}
}
return 0;
}
+18
View File
@@ -0,0 +1,18 @@
#include <iostream>
using namespace std;
// x[0]..x[99]
bool is_prime(int n) {
for (int i=2; i*i<=n; i++) {
if (n%i == 0) {return false;}
}
return true;
}
int main() {
cout << is_prime(4);
return 0;
}
+84
View File
@@ -0,0 +1,84 @@
#include <algorithm>
#include <cstring>
#include <iostream>
#include <vector>
using namespace std;
struct Node {
int mine_amount = -1, prev = -1;
};
constexpr int MAX_N = 25, INF = 0x3f3f3f3f;
int n, mine_amounts[MAX_N];
bool adj[MAX_N][MAX_N];
// int dp[MAX_N][MAX_N];
Node dp_route[MAX_N];
void solve_dp() {
for (int i=0; i<n; i++) {
dp_route[i] = {.mine_amount = mine_amounts[i]};
}
for (int current = 1; current < n; current++) {
for (int prev = 0; prev < current; prev++) {
if (adj[prev][current]) {
int new_ans = dp_route[prev].mine_amount + mine_amounts[current];
if (new_ans > dp_route[current].mine_amount) {
dp_route[current] = {.mine_amount = new_ans, .prev = prev};
}
}
}
}
}
void print_route() {
int max_ans = -1, max_idx = -1;
vector<int> final_route;
for (int i = 0; i < n; i++) {
if (dp_route[i].mine_amount > max_ans) {
max_ans = dp_route[i].mine_amount;
max_idx = i;
}
}
while (max_idx != -1) {
final_route.push_back(max_idx);
max_idx = dp_route[max_idx].prev;
}
reverse(final_route.begin(), final_route.end());
for (const int i : final_route) {
cout << i + 1 << " ";
}
cout << endl << max_ans << endl;
}
void log_dp() {
for (int i = 0; i < n; i++) {
// for (int j = 0; j < n; j++) {
// clog << dp[i][j] << " ";
// }
clog << "->" << dp_route[i].mine_amount << " " << dp_route[i].prev << endl;
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 0; i < n; i++) {
cin >> mine_amounts[i];
}
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
cin >> adj[i][j];
adj[j][i] = adj[i][j];
}
}
solve_dp();
log_dp();
print_route();
return 0;
}
+85
View File
@@ -0,0 +1,85 @@
#include <algorithm>
#include <cstring>
#include <iostream>
#include <vector>
using namespace std;
struct Node {
int mine_amount = -1, prev = -1;
};
constexpr int MAX_N = 25, INF = 0x3f3f3f3f;
int n, mine_amounts[MAX_N];
bool adj[MAX_N][MAX_N];
int dp[MAX_N][MAX_N];
Node dp_route[MAX_N];
void solve_dp() {
memset(dp, -1, sizeof(dp));
for (int i=0; i<n; i++) {
dp_route[i] = {.mine_amount = mine_amounts[i]};
}
for (int current = 1; current < n; current++) {
for (int prev = 0; prev < current; prev++) {
if (adj[prev][current]) {
dp[current][prev] = dp_route[prev].mine_amount + mine_amounts[current];
if (dp[current][prev] > dp_route[current].mine_amount) {
dp_route[current] = {.mine_amount = dp[current][prev], .prev = prev};
}
}
}
}
}
void print_route() {
int max_ans = -1, max_idx = -1;
vector<int> final_route;
for (int i = 0; i < n; i++) {
if (dp_route[i].mine_amount > max_ans) {
max_ans = dp_route[i].mine_amount;
max_idx = i;
}
}
while (max_idx != -1) {
final_route.push_back(max_idx);
max_idx = dp_route[max_idx].prev;
}
reverse(final_route.begin(), final_route.end());
for (const int i : final_route) {
cout << i + 1 << " ";
}
cout << endl << max_ans << endl;
}
void log_dp() {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
clog << dp[i][j] << " ";
}
clog << "->" << dp_route[i].mine_amount << " " << dp_route[i].prev << endl;
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 0; i < n; i++) {
cin >> mine_amounts[i];
}
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
cin >> adj[i][j];
adj[j][i] = adj[i][j];
}
}
solve_dp();
log_dp();
print_route();
return 0;
}
+110
View File
@@ -0,0 +1,110 @@
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
struct Node {
int x, y, height;
};
constexpr int MAX_N = 105;
constexpr short DX[4] = {0, 1, 0, -1}, DY[4] = {1, 0, -1, 0};
int r, c;
int heights[MAX_N][MAX_N];
vector<int> adj_nodes[MAX_N * MAX_N];
vector<Node> nodes;
int dp[MAX_N * MAX_N];
int pack_coord(int x, int y) {
return x * c + y;
}
int pack_coord(Node node) {
return pack_coord(node.x, node.y);
}
bool within_board(int x, int y) {
return 0 <= x && x < r && 0 <= y && y < c;
}
void log_dp() {
for (int i = 0; i < r * c; i++) {
clog << dp[i] << "\t";
if (i % c == c - 1) {
clog << endl;
}
}
}
void log_adj_nodes() {
for (int i = 0; i < r * c; i++) {
clog << i << " -> ";
for (int adj_node : adj_nodes[i]) {
clog << adj_node << " ";
}
clog << endl;
}
}
void init_adj_nodes() {
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j++) {
nodes.push_back({i, j, heights[i][j]});
int x = i, y = j;
for (int k = 0; k < 4; k++) {
int nx = x + DX[k], ny = y + DY[k];
if (within_board(nx, ny) && heights[nx][ny] > heights[x][y]) {
// 反向建图,小 -> 大
adj_nodes[pack_coord(x, y)].push_back(pack_coord(nx, ny));
}
}
}
}
sort(nodes.begin(), nodes.end(), [](const Node& a, const Node& b) {
return a.height > b.height;
});
}
void solve_dp() {
dp[pack_coord(nodes[0])] = 1;
for (int i = 1; i < nodes.size(); i++) {
Node curr_node = nodes[i];
int max_dp = 0;
for (int adj_node : adj_nodes[pack_coord(curr_node)]) {
max_dp = max(max_dp, dp[adj_node]);
}
dp[pack_coord(curr_node)] = max_dp + 1;
}
}
int get_ans() {
int max_dp = -1;
for (int i = 0; i < r * c; i++) {
max_dp = max(max_dp, dp[i]);
}
return max_dp;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> r >> c;
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j++) {
cin >> heights[i][j];
}
}
init_adj_nodes();
solve_dp();
log_adj_nodes();
log_dp();
cout << get_ans() << endl;
return 0;
}
+64
View File
@@ -0,0 +1,64 @@
#include <iostream>
using namespace std;
using Segment = pair<int, int>;
constexpr int MAX_N = 20005;
int n;
Segment segments[MAX_N];
pair<int, int> dp[MAX_N]; // 从这一层的线段左/右边出去
void log_dp() {
for (int i = 0; i < n; i++) {
clog << dp[i].first << "\t" << dp[i].second << endl;
}
}
pair<int, int> get_min_steps(const Segment& segment, const int start_pos) {
const int len = segment.second - segment.first;
if (start_pos <= segment.first) {
return {segment.second - start_pos + len, segment.second - start_pos};
}
if (start_pos >= segment.second) {
return {start_pos - segment.first, start_pos - segment.first + len};
}
return {
len + (segment.second - start_pos),
len + (start_pos - segment.first)
};
}
// pair<int, int> get_min_steps(const Segment& segment, const Segment& previous_segment) {
// auto [first1, second1] = get_min_steps(segment, previous_segment.second);
// auto [first2, second2] = get_min_steps(segment, previous_segment.first);
// return {min(first1, first2), min(second1, second2)};
// }
int solve_dp() {
dp[0] = get_min_steps(segments[0], 1);
for (int i = 1; i < n; i++) {
auto [first1, second1] = get_min_steps(segments[i], segments[i - 1].first);
auto [first2, second2] = get_min_steps(segments[i], segments[i - 1].second);
first1 += dp[i - 1].first, second1 += dp[i - 1].first;
first2 += dp[i - 1].second, second2 += dp[i - 1].second;
dp[i] = {min(first1, first2), min(second1, second2)};
}
return min(dp[n - 1].first, dp[n - 1].second);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 0; i < n; i++) {
cin >> segments[i].first >> segments[i].second;
}
segments[n] = {n, n}, n++;
cout << solve_dp() + n - 2 << endl;
log_dp();
return 0;
}
@@ -0,0 +1,52 @@
#include <iostream>
using namespace std;
struct Item {
int weight, value;
};
constexpr int MAX_N = 105, MAX_CAPACITY = 1005;
int capacity, n;
Item items[MAX_N];
int dp[MAX_CAPACITY];
bool ping_pong;
void log_dp() {
// for (int i = 0; i <= 1; i++) {
for (int j = 0; j <= capacity; j++) {
clog << dp[j] << "\t";
}
clog << endl;
// }
}
void solve_dp() {
// for (int i = 0; i <= capacity; i++) { dp[0][i] = 0; }
// for (int i = 0; i <= n; i++) { dp[i][0] = 0; }
for (int stop_item = 1; stop_item <= n; stop_item++, ping_pong = !ping_pong) {
for (int w = capacity; w >= 1; w--) {
if (w >= items[stop_item - 1].weight) { // 负数
dp[w] = max(dp[w],
dp[w - items[stop_item - 1].weight] + items[stop_item - 1].value);
}
}
// log_dp();
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> capacity >> n;
for (int i = 0; i < n; i++) {
cin >> items[i].weight >> items[i].value;
}
solve_dp();
cout << dp[capacity] << endl;
return 0;
}
@@ -0,0 +1,48 @@
/*
* 背包 DP:考虑前 i 个物品的最大价值,在仅有 t 容量的情况下。
* 建议两个维度调换一下,方便乒乓/滚动。
*/
#include <iostream>
using namespace std;
struct Item {
int weight, value;
};
constexpr int MAX_N = 105, MAX_CAPACITY = 1005;
int capacity, n;
Item items[MAX_N];
int dp[MAX_CAPACITY][MAX_N];
void solve_dp() {
for (int i = 0; i <= capacity; i++) { dp[i][0] = 0; }
for (int i = 0; i <= n; i++) { dp[0][i] = 0; }
for (int stop_item = 1; stop_item <= n; stop_item++) {
for (int w = 1; w <= capacity; w++) {
dp[w][stop_item] = dp[w][stop_item - 1];
if (w >= items[stop_item - 1].weight) { // 负数
dp[w][stop_item] =
max(dp[w][stop_item],
dp[w - items[stop_item - 1].weight][stop_item - 1] + items[stop_item - 1].value);
}
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> capacity >> n;
for (int i = 0; i < n; i++) {
cin >> items[i].weight >> items[i].value;
}
solve_dp();
cout << dp[capacity][n] << endl;
return 0;
}
@@ -0,0 +1,57 @@
/*
* 背包 DP:考虑前 i 个物品的最大价值,在仅有 t 容量的情况下。
*/
#include <iostream>
using namespace std;
struct Item {
int weight, value;
};
constexpr int MAX_N = 105, MAX_CAPACITY = 1005;
int capacity, n;
Item items[MAX_N];
int dp[MAX_N][MAX_CAPACITY];
void log_dp() {
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= capacity; j++) {
clog << dp[i][j] << "\t";
}
clog << endl;
}
}
void solve_dp() {
for (int i = 0; i <= capacity; i++) { dp[0][i] = 0; }
for (int i = 0; i <= n; i++) { dp[i][0] = 0; }
for (int stop_item = 1; stop_item <= n; stop_item++) {
for (int w = 1; w <= capacity; w++) {
dp[stop_item][w] = dp[stop_item - 1][w];
if (w >= items[stop_item - 1].weight) { // 负数
dp[stop_item][w] =
max(dp[stop_item][w],
dp[stop_item - 1][w - items[stop_item - 1].weight] + items[stop_item - 1].value);
}
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> capacity >> n;
for (int i = 0; i < n; i++) {
cin >> items[i].weight >> items[i].value;
}
solve_dp();
log_dp();
cout << dp[n][capacity] << endl;
return 0;
}
@@ -0,0 +1,54 @@
#include <iostream>
using namespace std;
struct Item {
int weight, value;
};
constexpr int MAX_N = 105, MAX_CAPACITY = 1005;
int capacity, n;
Item items[MAX_N];
int dp[2][MAX_CAPACITY];
bool ping_pong;
void log_dp() {
// for (int i = 0; i <= 1; i++) {
for (int j = 0; j <= capacity; j++) {
clog << dp[ping_pong][j] << "\t";
}
clog << endl;
// }
}
void solve_dp() {
// for (int i = 0; i <= capacity; i++) { dp[0][i] = 0; }
// for (int i = 0; i <= n; i++) { dp[i][0] = 0; }
for (int stop_item = 1; stop_item <= n; stop_item++, ping_pong = !ping_pong) {
for (int w = 1; w <= capacity; w++) {
dp[ping_pong][w] = dp[!ping_pong][w];
if (w >= items[stop_item - 1].weight) { // 负数
dp[ping_pong][w] =
max(dp[ping_pong][w],
dp[!ping_pong][w - items[stop_item - 1].weight] + items[stop_item - 1].value);
}
}
// log_dp();
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> capacity >> n;
for (int i = 0; i < n; i++) {
cin >> items[i].weight >> items[i].value;
}
solve_dp();
cout << dp[!ping_pong][capacity] << endl;
return 0;
}
@@ -0,0 +1,86 @@
#include <iostream>
#include <vector>
using namespace std;
struct FlatItem {
int weight, value;
FlatItem operator+(const FlatItem& other) const {
return {.weight = weight + other.weight, .value = value + other.value};
}
};
struct OriginalItem {
FlatItem item{};
vector<FlatItem> sons;
};
constexpr int MAX_N = 65, MAX_CAPACITY = 32005;
int capacity, n;
vector<OriginalItem> items;
vector<FlatItem> flat_items;
int fathers_temp[MAX_N];
int dp[MAX_CAPACITY];
vector<FlatItem> generate_flat_items(OriginalItem item) {
switch (item.sons.size()) {
case 0:
return vector{item.item};
case 1:
return vector{
item.item,
item.sons[0] + item.item,
};
case 2:
return vector{
item.item,
item.sons[0] + item.item,
item.sons[1] + item.item,
item.sons[0] + item.sons[1] + item.item,
};
default:
throw logic_error("Invalid item size!");
}
}
void solve_dp() {
for (int i = 0; i < n; i++) {
if (items[i].item.value == -1) { continue; }
for (int w = capacity; w >= 1; w--) {
// dp[w] = dp[w] // 不买
for (const auto& [weight, value] : generate_flat_items(items[i])) {
if (w >= weight) {
dp[w] = max(dp[w], dp[w - weight] + value);
}
}
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> capacity >> n;
items.resize(n);
for (int i = 0; i < n; i++) {
cin >> items[i].item.weight >> items[i].item.value >> fathers_temp[i];
items[i].item.value *= items[i].item.weight; // 题意
}
for (int i = 0; i < n; i++) {
if (fathers_temp[i] != 0) {
items[fathers_temp[i] - 1].sons.push_back(items[i].item);
items[i].item.value = -1; // 删掉这个元素!
}
}
solve_dp();
cout << dp[capacity] << endl;
return 0;
}
+83
View File
@@ -0,0 +1,83 @@
#include <cassert>
#include <iostream>
#include <vector>
using namespace std;
vector<string> words;
string deleted_char(const string& word, const int idx) {
assert(0 <= idx && idx < word.size());
return word.substr(0, idx) + word.substr(idx + 1);
}
vector<string> query(const string& s) {
vector<string> results;
for (string word : words) {
switch (static_cast<int>(word.size()) - static_cast<int>(s.size())) {
case 1: { // 需要删
for (int i = 0; i < word.size(); i++) {
if (word[i] != s[i]) {
if (deleted_char(word, i) == s) {
results.push_back(word);
break;
}
}
}
break;
}
case -1: {
for (int i = 0; i < s.size(); i++) {
if (word[i] != s[i]) {
if (deleted_char(s, i) == word) {
results.push_back(word);
break;
}
}
}
break;
}
case 0: {
if (word == s) { return vector{word}; }
int diff_count = 0;
for (int i = 0; i < s.size(); i++) {
if (word[i] != s[i]) {
diff_count++;
}
if (diff_count > 1) { break; }
}
if (diff_count == 1) {
results.push_back(word);
break;
}
break;
}
default: break;
}
}
return results;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
string s;
while (cin >> s && s[0] != '#') {
words.push_back(s);
}
while (cin >> s && s[0] != '#') {
vector<string> results = query(s);
if (!results.empty() && results[0] == s) {
cout << s << " is correct" << endl;
continue;
}
cout << s << ": ";
for (const string& result : results) {
cout << result << " ";
}
cout << endl;
}
return 0;
}
+10
View File
@@ -0,0 +1,10 @@
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
return 0;
}
+75
View File
@@ -0,0 +1,75 @@
#include <cstring>
#include <iostream>
#include <vector>
using namespace std;
class Graph {
public:
using VertexId = int;
using EdgeId = int;
struct Edge {
VertexId target_vertex = -1;
EdgeId next_edge = -1;
};
vector<Edge> edges;
vector<EdgeId> first_edges;
explicit Graph(int vertices_amount, int edges_amount = 0) : first_edges(vertices_amount, -1) {
edges.reserve(edges_amount);
}
void add_edge(VertexId source_vertex, VertexId target_vertex) {
const EdgeId edge_id = edges.size();
edges.push_back({.target_vertex = target_vertex, .next_edge = first_edges[source_vertex]}); // 所以遍历顺序相反!
first_edges[source_vertex] = edge_id;
}
};
constexpr int MAX_V = 1e5 + 5;
int v, e;
int ans_cache[MAX_V];
int dfs(const Graph& graph, int vertex, int start_vertex) {
if (ans_cache[vertex] != -1) { return ans_cache[vertex]; }
ans_cache[vertex] = start_vertex;
for (int edge_id = graph.first_edges[vertex]; edge_id != -1; edge_id = graph.edges[edge_id].next_edge) {
dfs(graph, graph.edges[edge_id].target_vertex, start_vertex);
}
return ans_cache[vertex];
}
int dfs(const Graph& graph, int vertex) {
// 反向建图,从大到小 dfs
return dfs(graph, vertex, vertex);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> v >> e;
Graph graph(v, e);
for (int _ = 0; _ < e; _++) {
int x, y;
cin >> x >> y;
graph.add_edge(y - 1, x - 1); // Reversed graph
}
memset(ans_cache, -1, sizeof(ans_cache));
for (int vertex = v - 1; vertex >= 0; vertex--) {
dfs(graph, vertex);
}
for (int vertex = 0; vertex < v; vertex++) {
cout << ans_cache[vertex] + 1 << " ";
}
cout << endl;
return 0;
}
@@ -0,0 +1,69 @@
#include <cstring>
#include <iostream>
#include <vector>
using namespace std;
class Graph {
public:
using VertexId = int;
using EdgeId = int;
struct Edge {
VertexId target_vertex = -1;
EdgeId next_edge = -1;
};
vector<Edge> edges;
vector<EdgeId> first_edges;
explicit Graph(int vertices_amount, int edges_amount = 0) : first_edges(vertices_amount, -1) {
edges.reserve(edges_amount);
}
void add_edge(VertexId source_vertex, VertexId target_vertex) {
const EdgeId edge_id = edges.size();
edges.push_back({.target_vertex = target_vertex, .next_edge = first_edges[source_vertex]}); // 所以遍历顺序相反!
first_edges[source_vertex] = edge_id;
}
};
constexpr int MAX_V = 1e5 + 5;
int v, e;
int ans_cache[MAX_V];
int dfs(const Graph& graph, int vertex) {
// 如果从小到大 dfs,是不需要在此处取 max 的
if (ans_cache[vertex] != -1) { return ans_cache[vertex]; }
ans_cache[vertex] = vertex;
if (graph.first_edges[vertex] == -1) { return ans_cache[vertex]; }
for (int edge_id = graph.first_edges[vertex]; edge_id != -1; edge_id = graph.edges[edge_id].next_edge) {
ans_cache[vertex] = max(ans_cache[vertex], dfs(graph, graph.edges[edge_id].target_vertex));
}
return ans_cache[vertex];
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> v >> e;
Graph graph(v, e);
for (int _ = 0; _ < e; _++) {
int x, y;
cin >> x >> y;
graph.add_edge(x - 1, y - 1);
}
memset(ans_cache, -1, sizeof(ans_cache));
for (int vertex = 0; vertex < v; vertex++) {
cout << dfs(graph, vertex) + 1 << " ";
}
cout << endl;
return 0;
}
+53
View File
@@ -0,0 +1,53 @@
#include <iostream>
#include <vector>
using namespace std;
class Solution {
static vector<int> get_upstairs_lengths(vector<int>& ratings) {
vector<int> upstairs(ratings.size(), 1);
for (int i = 1; i < ratings.size(); i++) {
if (ratings[i] > ratings[i - 1]) {
upstairs[i] = upstairs[i - 1] + 1;
}
}
return upstairs;
}
static vector<int> get_downstairs_lengths(vector<int>& ratings) {
vector<int> downstairs(ratings.size(), 1);
for (int i = ratings.size() - 2; i >= 0; i--) {
if (ratings[i] > ratings[i + 1]) {
downstairs[i] = downstairs[i + 1] + 1;
}
}
return downstairs;
}
public:
int candy(vector<int>& ratings) {
vector<int> upstairs = get_upstairs_lengths(ratings);
vector<int> downstairs = get_downstairs_lengths(ratings);
int ans = 0;
for (int i = 0; i < ratings.size(); i++) {
ans += max(upstairs[i], downstairs[i]);
}
return ans;
}
};
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
size_t ratings_amount;
cin >> ratings_amount;
vector<int> ratings(ratings_amount);
for (int i = 0; i < ratings_amount; i++) {
cin >> ratings[i];
}
Solution solution;
cout << solution.candy(ratings) << endl;
return 0;
}
+85
View File
@@ -0,0 +1,85 @@
#include <cassert>
#include <iostream>
#include <vector>
using namespace std;
class LinkedList {
public:
struct Node {
int previous = -1, next = -1;
};
vector<Node> nodes;
int get_adjacent(int idx, bool next) const {
if (next) { return nodes[idx].next; }
return nodes[idx].previous;
}
void add(int l, int r) {
if (l > -1) { nodes[l].next = nodes.size(); }
if (r > -1) { nodes[r].previous = nodes.size(); }
nodes.push_back({.previous = l, .next = r});
}
void remove(int idx) {
if (nodes[idx].previous > -1) {
nodes[nodes[idx].previous].next = nodes[idx].next;
}
if (nodes[idx].next > -1) {
nodes[nodes[idx].next].previous = nodes[idx].previous;
}
nodes[idx] = {-2, -2};
}
void print() {
int start_idx = -1;
for (int i = 0; i < nodes.size(); i++) {
if (nodes[i].previous == -1) {
start_idx = i;
break;
}
}
for (int i = start_idx; i != -1; i = nodes[i].next) {
cout << i + 1 << " ";
}
cout << endl;
}
};
LinkedList l;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
int to_be_operated;
bool is_next;
cin >> n;
l.add(-1, -1);
for (int _ = 0; _ < n - 1; _++) {
cin >> to_be_operated >> is_next;
to_be_operated--;
int adj = l.get_adjacent(to_be_operated, is_next);
if (is_next) {
l.add(to_be_operated, adj);
} else {
l.add(adj, to_be_operated);
}
}
cin >> n;
for (int _ = 0; _ < n; _++) {
cin >> to_be_operated;
l.remove(to_be_operated - 1);
}
l.print();
return 0;
}
+77
View File
@@ -0,0 +1,77 @@
import dataclasses
import sys
class Dsu:
@dataclasses.dataclass
class Node:
parent: int
tree_size: int = 1
weight: int = 0
def __init__(self, n: int):
self.nodes: list["Dsu.Node"] = [self.Node(i) for i in range(n)]
def find(self, x: int) -> int:
if self.nodes[x].parent == x:
return x
parent = self.find(self.nodes[x].parent)
self.nodes[x].weight \
= (self.nodes[self.nodes[x].parent].weight + self.nodes[x].weight + 12) % 3
self.nodes[x].parent = parent
return parent
def union(self, x: int, y: int, weight_offset: int):
"""
x 的父亲为 y;x 的权重为 y 的权重 + weight_offset
:param x:
:param y:
:param weight_offset:
:return:
"""
self.find(x)
self.find(y)
if x == y:
return
if self.nodes[x].tree_size > self.nodes[y].tree_size:
x, y = y, x
weight_offset = -weight_offset
wx, wy = self.nodes[x].weight, self.nodes[y].weight
weight_offset += wy - wx
x,y = self.nodes[x].parent, self.nodes[y].parent
self.nodes[x].parent = y
self.nodes[x].weight = weight_offset % 3
self.nodes[y].tree_size += self.nodes[x].tree_size
if __name__ == '__main__':
animals_amount, instructions_amount = map(int, input().split())
dsu = Dsu(animals_amount)
lies_amount = 0
for _ in range(instructions_amount):
instruction_type, animal1, animal2 = map(int, input().split())
# print(instruction_type, animal1, animal2, file=sys.stderr)
if animal1 > animals_amount or animal2 > animals_amount:
print("Lie: No animal", file=sys.stderr)
lies_amount += 1
continue
if animal1 == animal2:
if instruction_type == 2:
print("Lie: Eats oneself", file=sys.stderr)
lies_amount += 1
continue
animal1 -= 1
animal2 -= 1
if dsu.find(animal1) == dsu.find(animal2):
w1 = dsu.nodes[animal1].weight
w2 = dsu.nodes[animal2].weight
if instruction_type == 1 and w1 != w2:
print("Lie: different type", w1, w2, file=sys.stderr)
lies_amount += 1
if instruction_type == 2 and (w1 - w2 + 12) % 3 != 1:
print("Lie: cannot eat", w1, w2, file=sys.stderr)
lies_amount += 1
else:
dsu.union(animal1, animal2, instruction_type - 1)
# print("Success", file=sys.stderr)
print(lies_amount)
+56
View File
@@ -0,0 +1,56 @@
#include <iostream>
#include <vector>
#include <unordered_map>
#include <algorithm>
using namespace std;
constexpr size_t MAX_N = 4005;
long long numbers_amount, numbers[4][MAX_N];
vector<long long> sums[2];
unordered_map<long long, size_t> sum_to_amount[2];
template <typename T>
void log_vector(vector<T> vec, const string& prefix = "") {
clog << prefix;
for (const T& n : vec) {
clog << n << " ";
}
clog << endl;
}
void build_sums(const size_t sums_idx) {
for (int i = 0; i < numbers_amount; i++) {
for (int j = 0; j < numbers_amount; j++) {
long long sum = numbers[sums_idx][i] + numbers[sums_idx + 1][j];
if (!sum_to_amount[sums_idx / 2][sum]++) {
sums[sums_idx / 2].push_back(sum);
}
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> numbers_amount;
for (int i = 0; i < numbers_amount; i++) {
cin >> numbers[0][i] >> numbers[1][i] >> numbers[2][i] >> numbers[3][i];
}
build_sums(0), build_sums(2);
sort(sums[0].begin(), sums[0].end()), sort(sums[1].begin(), sums[1].end());
// log_vector(sums[0], "sums[0]: ");
// log_vector(sums[1], "sums[1]: ");
unsigned int ans = 0;
for (const long long n : sums[0]) {
auto it = lower_bound(sums[1].begin(), sums[1].end(), -n);
if (it != sums[1].end() && *it == -n) {
ans += sum_to_amount[1][-n] * sum_to_amount[0][n];
}
}
cout << ans << endl;
return 0;
}
+35
View File
@@ -0,0 +1,35 @@
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int get_max_sum(const vector<int>& vec) {
vector<int> max_sums(vec.size());
max_sums[0] = vec[0];
for (int i = 1; i < vec.size(); i++) {
int max_sum = 0;
for (int j = 0; j < i; j++) {
if (vec[j] < vec[i]) {
max_sum = max(max_sum, max_sums[j]);
}
}
max_sums[i] = max_sum + vec[i];
}
return *max_element(max_sums.begin(), max_sums.end());
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int numbers_amount;
cin >> numbers_amount;
vector<int> numbers(numbers_amount);
for (int i = 0; i < numbers_amount; i++) {
cin >> numbers[i];
}
cout << get_max_sum(numbers) << endl;
return 0;
}
+51
View File
@@ -0,0 +1,51 @@
#include <iostream>
#include <stack>
#include <vector>
using namespace std;
struct Bracket {
bool is_right;
size_t index;
bool operator<(const Bracket& other) const {
return index < other.index;
}
};
string get_unmatched_brackets_string(const string& s) {
stack<Bracket> brackets;
vector<Bracket> unmatched_brackets;
string printed_string(s.size(), ' ');
for (size_t i = 0; i < s.size(); i++) {
if (s[i] == '(') {
brackets.push({.is_right = false, .index = i});
} else if (s[i] == ')') {
if (brackets.empty()) {
unmatched_brackets.push_back({.is_right = true, .index = i});
} else {
brackets.pop();
}
}
}
while (!brackets.empty()) {
unmatched_brackets.push_back(brackets.top());
brackets.pop();
}
for (const auto& [is_right, index] : unmatched_brackets) {
printed_string[index] = is_right ? '?' : '$';
}
return printed_string;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
string s;
while (getline(cin, s) && !s.empty()) {
cout << s << endl << get_unmatched_brackets_string(s) << endl;
}
return 0;
}
+33 -21
View File
@@ -29,42 +29,54 @@ vector<int> get_divisors(const int n) {
return small_divisors; return small_divisors;
} }
/// 需要保证 sorted_cut_sticks 有序;需要保证 target_length 是总长度的因数
bool verify_length_dfs(const vector<int>& sorted_cut_sticks, bool verify_length_dfs(const vector<int>& sorted_cut_sticks,
const int target_length, const int target_length,
const int remaining_length,
const int original_sticks,
const int remaining_sticks, const int remaining_sticks,
vector<bool>& used) { size_t global_right_idx,
if (target_length == 0) { return true; } const size_t right_idx,
if (target_length < 0) { return false; } vector<bool>& used
// if (sorted_cut_sticks.empty()) { throw logic_error("Invalid target_times"); } ) {
// if (sorted_cut_sticks.empty()) { return true; } // clog << "verify_length_dfs(" << target_length << ") " << remaining_length << " " << remaining_sticks << "x " <<
// if (sorted_cut_sticks.back() > target_length) { return false; } // global_right_idx << "->" << right_idx << endl;
// while (!sorted_cut_sticks.empty() && sorted_cut_sticks.back() >= target_length) { // log_vector(used, "used: ");
// sorted_cut_sticks.pop_back(); // 直接用 if (remaining_sticks == 0) { return true; }
// } bool result = false;
// if (sorted_cut_sticks.empty()) { return true; } for (int i = static_cast<int>(right_idx); i >= 0; i--) {
if (target_length < sorted_cut_sticks[i]) { return false; }
const int remaining_length = target_length;
for (int i = static_cast<int>(sorted_cut_sticks.size()) - 1; i >= 0; i--) {
if (sorted_cut_sticks[i] > target_length) { return false; }
if (used[i]) { continue; } if (used[i]) { continue; }
if (sorted_cut_sticks[i] > remaining_length) { continue; } if (remaining_length < sorted_cut_sticks[i]) { continue; }
used[i] = true; used[i] = true;
if (verify_length_dfs(sorted_cut_sticks, remaining_length - sorted_cut_sticks[i], remaining_sticks, used)) { if (remaining_length == sorted_cut_sticks[i]) { // 下一根
return true; result = verify_length_dfs(sorted_cut_sticks, target_length, target_length, original_sticks,
remaining_sticks - 1, global_right_idx,
global_right_idx, used);
} else { // 这一根
if (remaining_length == target_length) { // 这一根的第一节
global_right_idx = i;
} }
result = verify_length_dfs(sorted_cut_sticks, target_length,
remaining_length - sorted_cut_sticks[i], original_sticks,
remaining_sticks, global_right_idx, i, used);
}
if (result) { return true; }
used[i] = false; used[i] = false;
// 剪枝 while (i >= 0 && sorted_cut_sticks[i] == sorted_cut_sticks[i - 1]) { i--; } // 剪枝
// if (remaining_sticks == original_sticks && remaining_length == target_length) { return false; } // 剪枝
if (remaining_length == target_length) { return false; } // 剪枝
} }
return false; return false;
} }
/// 需要保证 sorted_cut_sticks 有序;需要保证 target_length * remaining_sticks = 总长度
bool verify_length_dfs(const vector<int>& sorted_cut_sticks, bool verify_length_dfs(const vector<int>& sorted_cut_sticks,
const int target_length, const int target_length,
const int remaining_sticks) { const int remaining_sticks) {
vector<bool> used(sorted_cut_sticks.size(), false); vector<bool> used(sorted_cut_sticks.size(), false);
bool result = verify_length_dfs(sorted_cut_sticks, target_length, remaining_sticks, used); bool result = verify_length_dfs(sorted_cut_sticks, target_length, target_length, remaining_sticks,
log_vector(used, "used: "); remaining_sticks, sorted_cut_sticks.size() - 1, sorted_cut_sticks.size() - 1, used);
// log_vector(used, "used: ");
return result; return result;
} }
+39
View File
@@ -0,0 +1,39 @@
#include <iostream>
#include <unordered_map>
using namespace std;
constexpr int MAX_N = 100;
int cache[MAX_N * MAX_N];
int 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;
for (int i = 1; i <= n / 2; i++) {
ans += get_split_solutions_count(n - i - (i - 1) * (parts_count - 1), parts_count - 1);
}
cache[n * MAX_N + parts_count] = ans;
return ans;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
while (cin >> n) {
// cout << get_split_solutions_count(n, 2) << endl;
int ans = 0;
for (int i = 1; i <= n; i++) {
ans += get_split_solutions_count(n, i);
// clog << i << ":" << ans << " ";
}
cout << ans << endl;
}
return 0;
}
@@ -0,0 +1,32 @@
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int nums_amount;
cin >> nums_amount;
vector<string> nums(nums_amount);
for (int i = 0; i < nums_amount; i++) {
cin >> nums[i];
}
sort(nums.begin(), nums.end(), [](const string& a, const string& b) {
return a + b < b + a;
});
for (int i = nums_amount - 1; i >= 0; i--) {
cout << nums[i];
}
cout << " ";
for (int i = 0; i < nums_amount; i++) {
cout << nums[i];
}
cout << endl;
return 0;
}
@@ -0,0 +1,66 @@
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
size_t get_digits(unsigned long long number) {
return static_cast<size_t>(log10(number)) + 1;
}
bool is_number_rising(unsigned long long number) {
while (number % 10 == (number / 10) % 10) { number /= 10; }
return (number / 10) % 10 < number % 10;
}
struct PartialNumber {
unsigned long long number = 0;
unsigned long long filled_number = -1;
size_t digits = 0;
void fill() {
digits = get_digits(number);
filled_number = number;
while (filled_number < 10000000000000000) {
filled_number *= 10, filled_number += number % 10;
}
}
bool operator<(PartialNumber& other) {
if (filled_number == -1) { fill(); }
if (other.filled_number == -1) { other.fill(); }
if (filled_number == other.filled_number) {
if (is_number_rising(number)) { return digits < other.digits; }
return digits > other.digits;
}
return filled_number < other.filled_number;
}
bool operator>(PartialNumber& other) {
return other < *this;
}
};
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int nums_amount;
cin >> nums_amount;
vector<PartialNumber> nums(nums_amount);
for (int i = 0; i < nums_amount; i++) {
cin >> nums[i].number;
}
sort(nums.begin(), nums.end());
for (int i = nums_amount - 1; i >= 0; i--) {
cout << nums[i].number;
}
cout << " ";
for (int i = 0; i < nums_amount; i++) {
cout << nums[i].number;
}
cout << endl;
return 0;
}
+62
View File
@@ -0,0 +1,62 @@
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
using Range = pair<int, int>;
void log_range_vector(const vector<Range>& ranges, const string& prefix = "") {
clog << prefix;
for (const Range& r : ranges) {
clog << "(" << r.first << "," << r.second << ")" << " ";
}
clog << endl;
}
size_t get_min_ranges_amount(vector<Range> ranges, Range full_range) {
sort(ranges.begin(), ranges.end());
log_range_vector(ranges, "ranges: ");
size_t i = 0, ans = 0;
while (ranges[i].second < full_range.first) { i++; }
int max_start = 0, current_end = ranges[i].second;
while (true) {
while (ranges[i].first <= max_start) {
current_end = max(current_end, ranges[i].second);
if (current_end >= full_range.second) { return ans + 1; }
i++;
if (i >= ranges.size()) { throw invalid_argument("No valid ranges found (inside loop)"); }
}
ans++;
if (current_end >= full_range.second) { return ans; }
max_start = current_end;
}
throw invalid_argument("No valid ranges found (outside loop)");
}
vector<Range> get_ranges(const vector<int>& monitors) {
vector<Range> ranges;
for (int i = 0; i < monitors.size(); i++) {
ranges.emplace_back(i - monitors[i], i + monitors[i] + 1);
}
return ranges;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
size_t monitors_amount;
cin >> monitors_amount;
vector<int> monitors(monitors_amount);
for (int i = 0; i < monitors_amount; i++) {
cin >> monitors[i];
}
vector<Range> ranges = get_ranges(monitors);
Range full_range = {0, monitors_amount};
cout << get_min_ranges_amount(ranges, full_range) << endl;
return 0;
}
@@ -0,0 +1,59 @@
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
constexpr size_t MAX_M = 201, MAX_N = 1001;
vector<string> nums;
vector<bool> used;
map<size_t, int, greater<>> num_sizes;
string dp[MAX_M][MAX_N];
template <typename T>
void log_vector(const vector<T>& vec, const string& prefix = "") {
clog << prefix << endl;
for (const T& item : vec) {
clog << item << " ";
}
clog << endl;
}
void output_from_used() {
for (int i = 0; i < nums.size(); i++) {
if (used[i]) { cout << nums[i]; }
}
cout << endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int nums_amount, target_size;
cin >> target_size >> nums_amount;
nums.resize(nums_amount), used.resize(nums_amount);
for (int i = 0; i < nums_amount; i++) {
cin >> nums[i];
}
sort(nums.begin(), nums.end(), [](const string& a, const string& b) {
return a + b > b + a;
});
for (const string& num : nums) {
num_sizes[num.size()]++;
}
log_vector(nums, "nums: ");
// while (!can_form_combination(target_size, target_size)) {
// target_size--;
// }
clog << "target_size: " << target_size << endl;
calc_used(target_size, target_size);
log_vector(used, "used: ");
output_from_used();
return 0;
}
@@ -0,0 +1,88 @@
#include <iostream>
#include <vector>
#include <map>
#include <unordered_map>
#include <algorithm>
using namespace std;
vector<string> nums;
vector<bool> used;
map<size_t, int, greater<>> num_sizes;
template <typename T>
void log_vector(const vector<T>& vec, const string& prefix = "") {
clog << prefix << endl;
for (const T& item : vec) {
clog << item << " ";
}
clog << endl;
}
bool can_form_combination(const size_t target_size,
const size_t remaining_size
) {
if (remaining_size == 0) { return true; }
for (auto& [size, count] : num_sizes) {
if (size > remaining_size) { break; }
if (count > 0) {
count--;
if (can_form_combination(target_size, remaining_size - size)) {
return true;
}
count++;
}
}
return false;
}
bool calc_used(const size_t target_size, const size_t remaining_size, const size_t start_idx = 0) {
if (remaining_size == 0) { return true; }
for (size_t i = start_idx; i < nums.size(); i++) {
if (nums[i].size() > remaining_size) { continue; }
used[i] = true;
if (calc_used(target_size, remaining_size - nums[i].size(), i + 1)) {
return true;
}
used[i] = false;
if (calc_used(target_size, remaining_size, i + 1)) {
return true;
}
}
return false;
}
void output_from_used() {
for (int i = 0; i < nums.size(); i++) {
if (used[i]) { cout << nums[i]; }
}
cout << endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int nums_amount, target_size;
cin >> target_size >> nums_amount;
nums.resize(nums_amount), used.resize(nums_amount);
for (int i = 0; i < nums_amount; i++) {
cin >> nums[i];
}
sort(nums.begin(), nums.end(), [](const string& a, const string& b) {
return a + b > b + a;
});
for (const string& num : nums) {
num_sizes[num.size()]++;
}
log_vector(nums, "nums: ");
// while (!can_form_combination(target_size, target_size)) {
// target_size--;
// }
clog << "target_size: " << target_size << endl;
calc_used(target_size, target_size);
log_vector(used, "used: ");
output_from_used();
return 0;
}