Compare commits
4
Commits
32d7529967
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d30e847c1 | ||
|
|
a7a78fbac8 | ||
|
|
94bdf44889 | ||
|
|
f87523a003 |
@@ -1,5 +1,6 @@
|
||||
.venv
|
||||
cmake-build-debug
|
||||
cmake-build-debug-gcc
|
||||
/*.exe
|
||||
/*.dSYM
|
||||
|
||||
|
||||
Generated
+1
-2
@@ -206,7 +206,7 @@
|
||||
<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/=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/=CppTemplateParameterShadowing/@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/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/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/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" />
|
||||
|
||||
Generated
+9
-1
@@ -1,2 +1,10 @@
|
||||
<?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>
|
||||
Generated
+1
@@ -3,6 +3,7 @@
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<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>
|
||||
</component>
|
||||
</project>
|
||||
Generated
+501
-65
@@ -4,7 +4,7 @@
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<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/LiveTemplatesHousekeeping/HotspotSessionHintIsShown/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/Housekeeping/OptionsDialog/SelectedPageId/@EntryValue" value="CppFormatterOtherPage" type="string" />
|
||||
@@ -21,45 +21,82 @@
|
||||
<component name="CMakeRunConfigurationManager">
|
||||
<generated>
|
||||
<config projectName="exercises" targetName="pojcs101_M02692_12_coins" />
|
||||
<config projectName="exercises" targetName="luogu_ez_B3628" />
|
||||
<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_M01321_chest_grid" />
|
||||
<config projectName="exercises" targetName="pojcs101_M02039_snakey_encryption" />
|
||||
<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_M02694_polish_notation_tree" />
|
||||
<config projectName="exercises" targetName="CMakeCXXCompilerId" />
|
||||
<config projectName="exercises" targetName="pojcs101_M01017_6_boxes" />
|
||||
<config projectName="exercises" targetName="apple-sdk" />
|
||||
<config projectName="exercises" targetName="pojcs101_M01088_ski_WRONG" />
|
||||
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_MWASTE" />
|
||||
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2006S_jinming_budget_dp_knapsack" />
|
||||
<config projectName="exercises" targetName="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack_PINGPONG" />
|
||||
<config projectName="exercises" targetName="JLOI2009_binary_tree_GIVEUP" />
|
||||
<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="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_M02692_12_coins_WRONG" />
|
||||
<config projectName="exercises" targetName="pojcs101_M02746_josephus_problem_simulation" />
|
||||
<config projectName="exercises" targetName="pojcs101_M02039_snakey_encryption" />
|
||||
<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_M02431_cows_gas_leak_WRONG" />
|
||||
<config projectName="exercises" targetName="NOIP2003J_bigint" />
|
||||
<config projectName="exercises" targetName="pojcs101_M01922_ride_follower" />
|
||||
<config projectName="exercises" targetName="luogu_template_dsu_P3367" />
|
||||
<config projectName="exercises" targetName="pojcs101_M01002_memorable_number" />
|
||||
<config projectName="exercises" targetName="pojcs101_M01088_ski" />
|
||||
<config projectName="exercises" targetName="pojcs101_M02524_ubiquitous_religions_dsu" />
|
||||
<config projectName="exercises" targetName="luogu_P1160_biodir_linked_list" />
|
||||
<config projectName="exercises" targetName="pojcs101_E01003" />
|
||||
<config projectName="exercises" targetName="pojcs101_M01328_radar_greedy_WRONG" />
|
||||
<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="dp__backpack_dp__NOIP2005J_herbs_dp_knapsack" />
|
||||
</generated>
|
||||
</component>
|
||||
<component name="CMakeSettings">
|
||||
<configurations>
|
||||
<configuration PROFILE_NAME="Debug" ENABLED="true" CONFIG_NAME="Debug" />
|
||||
</configurations>
|
||||
<component name="CMakeSettings" AUTO_RELOAD="true">
|
||||
<configurations />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="4491295e-723c-4e0b-b7b4-9be1cbde5db8" name="更改" comment="1">
|
||||
<change afterPath="$PROJECT_DIR$/CMakeLists.txt" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/luogu_template_dsu_P3367.cpp" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/pojcs101_M02694_polish_notation_tree.cpp" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/MarsCodeWorkspaceAppSettings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/MarsCodeWorkspaceAppSettings.xml" afterDir="false" />
|
||||
<list default="true" id="4491295e-723c-4e0b-b7b4-9be1cbde5db8" name="更改" comment="Update CMakeLists.txt">
|
||||
<change afterPath="$PROJECT_DIR$/JLOI2009_binary_tree_GIVEUP.cpp" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/NOIP2016J_bay.cpp" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dp/TJOI2007_walk_segments_dp.cpp" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dsa/linear_list/dsa_0201_dictionary.cpp" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dsa/linear_list/dsa_0202_card_stacking.cpp" 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$/pojcs101_M02524_ubiquitous_religions_dsu.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/pojcs101_M02524_ubiquitous_religions_dsu.cpp" 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>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@@ -68,18 +105,18 @@
|
||||
</component>
|
||||
<component name="ClangdSettings">
|
||||
<option name="formatViaClangd" value="false" />
|
||||
<option name="clangWarnings" value="-Wno-unused-variable,-Wno-infinite-recursion,-Wno-array-bounds,-Wno-return-stack-address,-Werror=implicit-function-declaration,-Wshadow,-Wno-shadow-field-in-constructor-modified,-Wno-shadow-ivar,-Wuninitialized,-Wunused-label,-Wunused-lambda-capture,-std=c++17" />
|
||||
</component>
|
||||
<component name="CurrentDebugProfile">
|
||||
<option name="debugProfileId" value="2c1c9069-eeff-46e4-9092-db62e2b1ded5" />
|
||||
</component>
|
||||
<component name="ExecutionTargetManager" SELECTED_TARGET="CMakeBuildProfile:Debug" />
|
||||
<component name="ExecutionTargetManager" SELECTED_TARGET="CMakeBuildProfile:Debug-GCC" />
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="C++ Single file program" />
|
||||
<option value="C++ Single file for OJ" />
|
||||
<option value="CMakeLists.txt" />
|
||||
<option value="Python Script" />
|
||||
<option value="C++ Single file for OJ" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@@ -91,6 +128,9 @@
|
||||
</option>
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="HighlightingSettingsPerFile">
|
||||
<setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
|
||||
</component>
|
||||
<component name="MacroExpansionManager">
|
||||
<option name="directoryName" value="7Sv2hfws" />
|
||||
</component>
|
||||
@@ -105,6 +145,9 @@
|
||||
"associatedIndex": 6
|
||||
}</component>
|
||||
<component name="ProjectId" id="3GtpcRsMiK7N2AeTtOb1nL73fkz" />
|
||||
<component name="ProjectStatusUIService">{
|
||||
"uiKindId": "Widget"
|
||||
}</component>
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
@@ -113,9 +156,11 @@
|
||||
"keyToString": {
|
||||
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
||||
"C/C++ 文件.D_pojcs101_M02692.cpp.executor": "Run",
|
||||
"C/C++ 文件.luogu_P3916_graph_iteration.cpp.executor": "Debug",
|
||||
"C/C++ 文件.luogu_UVA755.cpp.executor": "Run",
|
||||
"C/C++ 文件.luogu_ez_B3628.cpp.executor": "Run",
|
||||
"C/C++ 文件.luogu_model_dsu_P3367.cpp.executor": "Run",
|
||||
"C/C++ 文件.noip2003j_bigint.cpp.executor": "Run",
|
||||
"C/C++ 文件.ojcs101_E01003.cpp.executor": "Run",
|
||||
"C/C++ 文件.ojcs101_E01218.cpp.executor": "Run",
|
||||
"C/C++ 文件.ojcs101_E02883.cpp.executor": "Run",
|
||||
@@ -131,11 +176,39 @@
|
||||
"C/C++ 文件.pojcs101_M02692.cpp.executor": "Run",
|
||||
"C/C++ 文件.pojcs101_M02692_12_coins.cpp.executor": "Run",
|
||||
"C/C++ 文件.pojcs101_M02694_polish_notation_tree.cpp.executor": "Run",
|
||||
"C/C++ 文件.pojcs101_M03247_palindromic_prime.cpp.executor": "Run",
|
||||
"C/C++ 文件.pojcs101_M03441_sum_zero.cpp.executor": "Run",
|
||||
"CMake 应用程序.JLOI2009_binary_tree.executor": "Run",
|
||||
"CMake 应用程序.NOIP2005J_herbs_dp_backpack.executor": "Run",
|
||||
"CMake 应用程序.NOIP2005J_herbs_dp_backpack_MWASTE_BETTER.executor": "Run",
|
||||
"CMake 应用程序.NOIP2006S_jinming_budget_dp_knapsack.executor": "Run",
|
||||
"CMake 应用程序.NOIP2016J_bay.executor": "Run",
|
||||
"CMake 应用程序.SHOI2002_ski_dp.executor": "Run",
|
||||
"CMake 应用程序.dp__TJOI2007_walk_segments_dp.executor": "Run",
|
||||
"CMake 应用程序.dsa__linear_list__dsa_0201_dictionary.executor": "Run",
|
||||
"CMake 应用程序.exercises.executor": "Run",
|
||||
"CMake 应用程序.pojcs101_M02694_polish_notation_tree.executor": "Debug",
|
||||
"CMake 应用程序.gdbh.executor": "Run",
|
||||
"CMake 应用程序.graph__luogu_P3916_graph_iteration.executor": "Run",
|
||||
"CMake 应用程序.lc_135_candy.executor": "Run",
|
||||
"CMake 应用程序.luogu_P1160_biodir_linked_list.executor": "Run",
|
||||
"CMake 应用程序.luogu_P2196_miner_dp.executor": "Run",
|
||||
"CMake 应用程序.noip2003j_bigint.executor": "Run",
|
||||
"CMake 应用程序.pojcs101_M02694_polish_notation_tree.executor": "Run",
|
||||
"CMake 应用程序.pojcs101_M03441_sum_zero.executor": "Run",
|
||||
"CMake 应用程序.pojcs101_M03532.executor": "Run",
|
||||
"CMake 应用程序.pojcs101_M03704_brackets.executor": "Run",
|
||||
"CMake 应用程序.pojcs101_T01011_sticks.executor": "Run",
|
||||
"CMake 应用程序.pojcs101_T04117_split_int.executor": "Run",
|
||||
"CMake 应用程序.pojcs101_T12559_biggest_smallest_combination.executor": "Run",
|
||||
"CMake 应用程序.pojcs101_T27104_chicken_monitors.executor": "Run",
|
||||
"CMake 应用程序.pojcs101_T27373_biggest_combination_t2.executor": "Run",
|
||||
"CMake 应用程序.test.executor": "Run",
|
||||
"CMake 调试.exercises.executor": "Debug",
|
||||
"CidrDebugProfileConversion": "true",
|
||||
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
||||
"Python.lc_127.executor": "Run",
|
||||
"Python.noi2001_food_chain_dsu.executor": "Run",
|
||||
"Python.pojcs101_M03247_palindromic_prime_init1.executor": "Debug",
|
||||
"RunOnceActivity.RadMigrateCodeStyle": "true",
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"RunOnceActivity.cidr.known.project.marker": "true",
|
||||
@@ -143,26 +216,33 @@
|
||||
"RunOnceActivity.readMode.enableVisualFormatting": "true",
|
||||
"RunOnceActivity.typescript.service.memoryLimit.init": "true",
|
||||
"RunOnceActivity.west.config.association.type.startup.service": "true",
|
||||
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
||||
"cf.first.check.clang-format": "false",
|
||||
"cidr.known.project.marker": "true",
|
||||
"codeWithMe.voiceChat.enabledByDefault": "false",
|
||||
"deletionFromPopupRequiresConfirmation": "false",
|
||||
"git-widget-placeholder": "main",
|
||||
"last_opened_file_path": "/Users/roger/coding/exercises",
|
||||
"last_opened_file_path": "/Users/roger/coding/exercises/graph",
|
||||
"node.js.detected.package.jshint": "true",
|
||||
"node.js.selected.package.jshint": "",
|
||||
"nodejs_package_manager_path": "npm",
|
||||
"org.rust.first.attach.projects": "true",
|
||||
"settings.editor.selected.configurable": "CPPToolchains"
|
||||
"settings.editor.selected.configurable": "preferences.sourceCode.C++"
|
||||
}
|
||||
}</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/graph" />
|
||||
<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>
|
||||
</component>
|
||||
<component name="RunManager" selected="CMake 应用程序.pojcs101_M02694_polish_notation_tree">
|
||||
<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">
|
||||
<method v="2">
|
||||
<option name="BeforeTestRunTask" enabled="true" />
|
||||
@@ -183,141 +263,465 @@
|
||||
<option name="BeforeTestRunTask" enabled="true" />
|
||||
</method>
|
||||
</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" 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">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="apple-sdk" 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="apple-sdk" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="apple-sdk">
|
||||
<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="luogu_ez_B3628" 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_ez_B3628" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="luogu_ez_B3628">
|
||||
<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="luogu_template_dsu_P3367" 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_template_dsu_P3367" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="luogu_template_dsu_P3367">
|
||||
<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="pojcs101_E01003" 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_E01003" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_E01003">
|
||||
<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="pojcs101_E01218" 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_E01218" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_E01218">
|
||||
<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="pojcs101_E02883" 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_E02883" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_E02883">
|
||||
<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="pojcs101_M01002_memorable_number" 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_M01002_memorable_number" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01002_memorable_number">
|
||||
<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="pojcs101_M01017_6_boxes" 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_M01017_6_boxes" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01017_6_boxes">
|
||||
<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="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" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01088_ski">
|
||||
<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="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" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01088_ski_WRONG">
|
||||
<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="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" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01321_chest_grid">
|
||||
<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="pojcs101_M01328_radar_greedy" 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_M01328_radar_greedy" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01328_radar_greedy">
|
||||
<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="pojcs101_M01328_radar_greedy_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_M01328_radar_greedy_WRONG" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01328_radar_greedy_WRONG">
|
||||
<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="pojcs101_M01852_ants_falling" 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_M01852_ants_falling" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01852_ants_falling">
|
||||
<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="pojcs101_M01922_ride_follower" 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_M01922_ride_follower" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01922_ride_follower">
|
||||
<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="pojcs101_M02039_snakey_encryption" 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_M02039_snakey_encryption" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02039_snakey_encryption">
|
||||
<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="pojcs101_M02431_cows_gas_leak_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_M02431_cows_gas_leak_WRONG" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02431_cows_gas_leak_WRONG">
|
||||
<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="pojcs101_M02524_ubiquitous_religions_dsu" 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_M02524_ubiquitous_religions_dsu" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02524_ubiquitous_religions_dsu">
|
||||
<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="pojcs101_M02692_12_coins" 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_M02692_12_coins" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02692_12_coins">
|
||||
<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="pojcs101_M02692_12_coins_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_M02692_12_coins_WRONG" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02692_12_coins_WRONG">
|
||||
<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="pojcs101_M02694_polish_notation_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="pojcs101_M02694_polish_notation_tree" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02694_polish_notation_tree">
|
||||
<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">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="luogu_ez_B3628" 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_ez_B3628" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="luogu_ez_B3628">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="luogu_template_dsu_P3367" 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_template_dsu_P3367" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="luogu_template_dsu_P3367">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_E01003" 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_E01003" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_E01003">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_E01218" 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_E01218" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_E01218">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_E02883" 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_E02883" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_E02883">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M01002_memorable_number" 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_M01002_memorable_number" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01002_memorable_number">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M01017_6_boxes" 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_M01017_6_boxes" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01017_6_boxes">
|
||||
<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">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M01328_radar_greedy" 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_M01328_radar_greedy" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01328_radar_greedy">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M01328_radar_greedy_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_M01328_radar_greedy_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01328_radar_greedy_WRONG">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M01852_ants_falling" 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_M01852_ants_falling" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01852_ants_falling">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M01922_ride_follower" 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_M01922_ride_follower" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M01922_ride_follower">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M02039_snakey_encryption" 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_M02039_snakey_encryption" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02039_snakey_encryption">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M02431_cows_gas_leak_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_M02431_cows_gas_leak_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02431_cows_gas_leak_WRONG">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M02524_ubiquitous_religions_dsu" 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_M02524_ubiquitous_religions_dsu" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02524_ubiquitous_religions_dsu">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M02692_12_coins" 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_M02692_12_coins" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02692_12_coins">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M02692_12_coins_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_M02692_12_coins_WRONG" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02692_12_coins_WRONG">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M02694_polish_notation_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="pojcs101_M02694_polish_notation_tree" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02694_polish_notation_tree">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M02746_josephus_problem" 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_M02746_josephus_problem" CONFIG_NAME="Debug" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M02746_josephus_problem">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="pojcs101_M03247_palindromic_prime" 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_M03247_palindromic_prime" CONFIG_NAME="Debug-GCC" RUN_TARGET_PROJECT_NAME="exercises" RUN_TARGET_NAME="pojcs101_M03247_palindromic_prime">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</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">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<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">
|
||||
<method v="2">
|
||||
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</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">
|
||||
<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$/pojcs101_M03247_palindromic_prime_init1.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>
|
||||
<list>
|
||||
<item itemvalue="CMake 应用程序.apple-sdk" />
|
||||
<item itemvalue="CMake 应用程序.CMakeCXXCompilerId" />
|
||||
<item itemvalue="CMake 应用程序._others__qyz__gdbh" />
|
||||
<item itemvalue="CMake 应用程序._others__qyz__test" />
|
||||
<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_P1160_biodir_linked_list" />
|
||||
<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_E01218" />
|
||||
<item itemvalue="CMake 应用程序.pojcs101_E02883" />
|
||||
<item itemvalue="CMake 应用程序.pojcs101_M01002_memorable_number" />
|
||||
<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_M01328_radar_greedy" />
|
||||
<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_M01922_ride_follower" />
|
||||
<item itemvalue="CMake 应用程序.pojcs101_M02039_snakey_encryption" />
|
||||
<item itemvalue="CMake 应用程序.pojcs101_M02431_cows_gas_leak_WRONG" />
|
||||
<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" />
|
||||
<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_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_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" />
|
||||
</list>
|
||||
<recent_temporary>
|
||||
<list>
|
||||
<item itemvalue="Python.pojcs101_M03247_palindromic_prime_init1" />
|
||||
<item itemvalue="Python.noi2001_food_chain_dsu" />
|
||||
</list>
|
||||
</recent_temporary>
|
||||
</component>
|
||||
<component name="SelectedDebugProfileService">{
|
||||
"profileIdByStamp": [
|
||||
{
|
||||
"first": {
|
||||
"##RUN_CONFIGURATION##": "CMake 应用程序.JLOI2009_binary_tree",
|
||||
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||
},
|
||||
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||
},
|
||||
{
|
||||
"first": {
|
||||
"##RUN_CONFIGURATION##": "CMake 应用程序._others__qyz__gdbh",
|
||||
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||
},
|
||||
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||
},
|
||||
{
|
||||
"first": {
|
||||
"##RUN_CONFIGURATION##": "CMake 应用程序.dp__TJOI2007_walk_segments_dp",
|
||||
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||
},
|
||||
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||
},
|
||||
{
|
||||
"first": {
|
||||
"##RUN_CONFIGURATION##": "CMake 应用程序.luogu_P1160_biodir_linked_list",
|
||||
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||
},
|
||||
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||
},
|
||||
{
|
||||
"first": {
|
||||
"##RUN_CONFIGURATION##": "CMake 应用程序.NOIP2016J_bay",
|
||||
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||
},
|
||||
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||
},
|
||||
{
|
||||
"first": {
|
||||
"##RUN_CONFIGURATION##": "CMake 应用程序.graph__luogu_P3916_graph_iteration",
|
||||
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||
},
|
||||
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||
},
|
||||
{
|
||||
"first": {
|
||||
"##RUN_CONFIGURATION##": "CMake 应用程序.dsa__linear_list__dsa_0201_dictionary",
|
||||
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||
},
|
||||
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||
},
|
||||
{
|
||||
"first": {
|
||||
"##RUN_CONFIGURATION##": "CMake 应用程序.NOIP2003J_bigint",
|
||||
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||
},
|
||||
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||
},
|
||||
{
|
||||
"first": {
|
||||
"##RUN_CONFIGURATION##": "CMake 应用程序.pojcs101_T27373_biggest_combination_t2",
|
||||
"cmake": "CMakeBuildProfile:Debug-GCC"
|
||||
},
|
||||
"second": "2c1c9069-eeff-46e4-9092-db62e2b1ded5"
|
||||
}
|
||||
],
|
||||
"modificationCount": 69
|
||||
}</component>
|
||||
<component name="SharedIndexes">
|
||||
<attachedChunks>
|
||||
<set>
|
||||
@@ -334,6 +738,9 @@
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1784800801763</updated>
|
||||
<workItem from="1784856532675" duration="4766000" />
|
||||
<workItem from="1785509013065" duration="2577000" />
|
||||
<workItem from="1785852394849" duration="8298000" />
|
||||
<workItem from="1785935635180" duration="9461000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
@@ -347,25 +754,54 @@
|
||||
<isAutomaticBootstrapAfterUpdate value="false" />
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="CMakeLists.txt" />
|
||||
<MESSAGE value="1" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="1" />
|
||||
<MESSAGE value="Update CMakeLists.txt" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Update CMakeLists.txt" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<breakpoints>
|
||||
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
||||
<url>file://$PROJECT_DIR$/noi2001_food_chain_dsu.py</url>
|
||||
<line>75</line>
|
||||
<option name="timeStamp" value="6" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
|
||||
<url>file://$PROJECT_DIR$/pojcs101_M01321_chest_grid.cpp</url>
|
||||
<line>44</line>
|
||||
<option name="timeStamp" value="2" />
|
||||
<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>
|
||||
</breakpoints>
|
||||
</breakpoint-manager>
|
||||
<watches-manager>
|
||||
<configuration name="CMakeRunConfiguration">
|
||||
<watch expression="ans_cache" language="C++" />
|
||||
</configuration>
|
||||
</watches-manager>
|
||||
</component>
|
||||
<component name="XSLT-Support.FileAssociations.UIState">
|
||||
<expand />
|
||||
<select />
|
||||
</component>
|
||||
<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$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>
|
||||
</project>
|
||||
+19
-5
@@ -1,15 +1,29 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
project(exercises)
|
||||
|
||||
# 设置 C++ 标准(例如 C++17)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
# 递归查找当前目录下所有的 .cpp 文件
|
||||
file(GLOB_RECURSE SOURCES "*.cpp")
|
||||
|
||||
# 遍历所有找到的 .cpp 文件,为每个文件单独创建一个可执行目标
|
||||
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)
|
||||
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 ()
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main() {
|
||||
ios::sync_with_stdio(false);
|
||||
cin.tie(nullptr);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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)
|
||||
@@ -0,0 +1,34 @@
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
constexpr size_t MAX_N = 305;
|
||||
|
||||
|
||||
size_t simulate_monkeys(const size_t monkeys_count, const int m) {
|
||||
bool monkeys[MAX_N] = {false};
|
||||
int died_monkeys_count = 0;
|
||||
for (size_t i = 0, current_num = 0;;
|
||||
i = (i + 1) % monkeys_count,
|
||||
current_num = (current_num + 1) % m) {
|
||||
while (monkeys[i]) { i = (i + 1) % monkeys_count; }
|
||||
if (current_num == m - 1) { monkeys[i] = true, died_monkeys_count++; }
|
||||
if (died_monkeys_count == monkeys_count - 1) { break; }
|
||||
}
|
||||
for (int i = 0; i < monkeys_count; i++) {
|
||||
if (!monkeys[i]) { return i; }
|
||||
}
|
||||
throw logic_error("???");
|
||||
}
|
||||
|
||||
int main() {
|
||||
ios::sync_with_stdio(false);
|
||||
cin.tie(nullptr);
|
||||
|
||||
int monkeys_count, m;
|
||||
while (cin >> monkeys_count >> m && m) {
|
||||
cout << simulate_monkeys(monkeys_count, m) + 1 << endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,260 @@
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
|
||||
using namespace std;
|
||||
|
||||
constexpr unsigned int PRIMES[] = {
|
||||
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109,
|
||||
113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239,
|
||||
241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379,
|
||||
383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521,
|
||||
523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661,
|
||||
673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827,
|
||||
829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991,
|
||||
997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109,
|
||||
1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259,
|
||||
1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423,
|
||||
1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543,
|
||||
1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667,
|
||||
1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823,
|
||||
1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987,
|
||||
1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113,
|
||||
2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273,
|
||||
2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399,
|
||||
2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579,
|
||||
2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711,
|
||||
2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851,
|
||||
2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019,
|
||||
3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191,
|
||||
3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343,
|
||||
3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511,
|
||||
3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637,
|
||||
3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797,
|
||||
3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943,
|
||||
3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111,
|
||||
4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261,
|
||||
4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447,
|
||||
4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603,
|
||||
4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783,
|
||||
4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943,
|
||||
4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087,
|
||||
5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273,
|
||||
5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437,
|
||||
5441, 5443, 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581,
|
||||
5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743,
|
||||
5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881,
|
||||
5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089,
|
||||
6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257,
|
||||
6263, 6269, 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379,
|
||||
6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577,
|
||||
6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761,
|
||||
6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911,
|
||||
6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069,
|
||||
7079, 7103, 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247,
|
||||
7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477,
|
||||
7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591,
|
||||
7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757,
|
||||
7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937,
|
||||
7949, 7951, 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123,
|
||||
8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293,
|
||||
8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501,
|
||||
8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669,
|
||||
8677, 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819,
|
||||
8821, 8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999,
|
||||
9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161,
|
||||
9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337,
|
||||
9341, 9343, 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473,
|
||||
9479, 9491, 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661,
|
||||
9677, 9679, 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829,
|
||||
9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973, 10007, 10009,
|
||||
10037, 10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099, 10103, 10111, 10133, 10139, 10141, 10151, 10159,
|
||||
10163, 10169, 10177, 10181, 10193, 10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, 10273, 10289, 10301,
|
||||
10303, 10313, 10321, 10331, 10333, 10337, 10343, 10357, 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457,
|
||||
10459, 10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531, 10559, 10567, 10589, 10597, 10601, 10607, 10613,
|
||||
10627, 10631, 10639, 10651, 10657, 10663, 10667, 10687, 10691, 10709, 10711, 10723, 10729, 10733, 10739, 10753,
|
||||
10771, 10781, 10789, 10799, 10831, 10837, 10847, 10853, 10859, 10861, 10867, 10883, 10889, 10891, 10903, 10909,
|
||||
10937, 10939, 10949, 10957, 10973, 10979, 10987, 10993, 11003, 11027, 11047, 11057, 11059, 11069, 11071, 11083,
|
||||
11087, 11093, 11113, 11117, 11119, 11131, 11149, 11159, 11161, 11171, 11173, 11177, 11197, 11213, 11239, 11243,
|
||||
11251, 11257, 11261, 11273, 11279, 11287, 11299, 11311, 11317, 11321, 11329, 11351, 11353, 11369, 11383, 11393,
|
||||
11399, 11411, 11423, 11437, 11443, 11447, 11467, 11471, 11483, 11489, 11491, 11497, 11503, 11519, 11527, 11549,
|
||||
11551, 11579, 11587, 11593, 11597, 11617, 11621, 11633, 11657, 11677, 11681, 11689, 11699, 11701, 11717, 11719,
|
||||
11731, 11743, 11777, 11779, 11783, 11789, 11801, 11807, 11813, 11821, 11827, 11831, 11833, 11839, 11863, 11867,
|
||||
11887, 11897, 11903, 11909, 11923, 11927, 11933, 11939, 11941, 11953, 11959, 11969, 11971, 11981, 11987, 12007,
|
||||
12011, 12037, 12041, 12043, 12049, 12071, 12073, 12097, 12101, 12107, 12109, 12113, 12119, 12143, 12149, 12157,
|
||||
12161, 12163, 12197, 12203, 12211, 12227, 12239, 12241, 12251, 12253, 12263, 12269, 12277, 12281, 12289, 12301,
|
||||
12323, 12329, 12343, 12347, 12373, 12377, 12379, 12391, 12401, 12409, 12413, 12421, 12433, 12437, 12451, 12457,
|
||||
12473, 12479, 12487, 12491, 12497, 12503, 12511, 12517, 12527, 12539, 12541, 12547, 12553, 12569, 12577, 12583,
|
||||
12589, 12601, 12611, 12613, 12619, 12637, 12641, 12647, 12653, 12659, 12671, 12689, 12697, 12703, 12713, 12721,
|
||||
12739, 12743, 12757, 12763, 12781, 12791, 12799, 12809, 12821, 12823, 12829, 12841, 12853, 12889, 12893, 12899,
|
||||
12907, 12911, 12917, 12919, 12923, 12941, 12953, 12959, 12967, 12973, 12979, 12983, 13001, 13003, 13007, 13009,
|
||||
13033, 13037, 13043, 13049, 13063, 13093, 13099, 13103, 13109, 13121, 13127, 13147, 13151, 13159, 13163, 13171,
|
||||
13177, 13183, 13187, 13217, 13219, 13229, 13241, 13249, 13259, 13267, 13291, 13297, 13309, 13313, 13327, 13331,
|
||||
13337, 13339, 13367, 13381, 13397, 13399, 13411, 13417, 13421, 13441, 13451, 13457, 13463, 13469, 13477, 13487,
|
||||
13499, 13513, 13523, 13537, 13553, 13567, 13577, 13591, 13597, 13613, 13619, 13627, 13633, 13649, 13669, 13679,
|
||||
13681, 13687, 13691, 13693, 13697, 13709, 13711, 13721, 13723, 13729, 13751, 13757, 13759, 13763, 13781, 13789,
|
||||
13799, 13807, 13829, 13831, 13841, 13859, 13873, 13877, 13879, 13883, 13901, 13903, 13907, 13913, 13921, 13931,
|
||||
13933, 13963, 13967, 13997, 13999, 14009, 14011, 14029, 14033, 14051, 14057, 14071, 14081, 14083, 14087, 14107,
|
||||
14143, 14149, 14153, 14159, 14173, 14177, 14197, 14207, 14221, 14243, 14249, 14251, 14281, 14293, 14303, 14321,
|
||||
14323, 14327, 14341, 14347, 14369, 14387, 14389, 14401, 14407, 14411, 14419, 14423, 14431, 14437, 14447, 14449,
|
||||
14461, 14479, 14489, 14503, 14519, 14533, 14537, 14543, 14549, 14551, 14557, 14561, 14563, 14591, 14593, 14621,
|
||||
14627, 14629, 14633, 14639, 14653, 14657, 14669, 14683, 14699, 14713, 14717, 14723, 14731, 14737, 14741, 14747,
|
||||
14753, 14759, 14767, 14771, 14779, 14783, 14797, 14813, 14821, 14827, 14831, 14843, 14851, 14867, 14869, 14879,
|
||||
14887, 14891, 14897, 14923, 14929, 14939, 14947, 14951, 14957, 14969, 14983, 15013, 15017, 15031, 15053, 15061,
|
||||
15073, 15077, 15083, 15091, 15101, 15107, 15121, 15131, 15137, 15139, 15149, 15161, 15173, 15187, 15193, 15199,
|
||||
15217, 15227, 15233, 15241, 15259, 15263, 15269, 15271, 15277, 15287, 15289, 15299, 15307, 15313, 15319, 15329,
|
||||
15331, 15349, 15359, 15361, 15373, 15377, 15383, 15391, 15401, 15413, 15427, 15439, 15443, 15451, 15461, 15467,
|
||||
15473, 15493, 15497, 15511, 15527, 15541, 15551, 15559, 15569, 15581, 15583, 15601, 15607, 15619, 15629, 15641,
|
||||
15643, 15647, 15649, 15661, 15667, 15671, 15679, 15683, 15727, 15731, 15733, 15737, 15739, 15749, 15761, 15767,
|
||||
15773, 15787, 15791, 15797, 15803, 15809, 15817, 15823, 15859, 15877, 15881, 15887, 15889, 15901, 15907, 15913,
|
||||
15919, 15923, 15937, 15959, 15971, 15973, 15991, 16001, 16007, 16033, 16057, 16061, 16063, 16067, 16069, 16073,
|
||||
16087, 16091, 16097, 16103, 16111, 16127, 16139, 16141, 16183, 16187, 16189, 16193, 16217, 16223, 16229, 16231,
|
||||
16249, 16253, 16267, 16273, 16301, 16319, 16333, 16339, 16349, 16361, 16363, 16369, 16381, 16411, 16417, 16421,
|
||||
16427, 16433, 16447, 16451, 16453, 16477, 16481, 16487, 16493, 16519, 16529, 16547, 16553, 16561, 16567, 16573,
|
||||
16603, 16607, 16619, 16631, 16633, 16649, 16651, 16657, 16661, 16673, 16691, 16693, 16699, 16703, 16729, 16741,
|
||||
16747, 16759, 16763, 16787, 16811, 16823, 16829, 16831, 16843, 16871, 16879, 16883, 16889, 16901, 16903, 16921,
|
||||
16927, 16931, 16937, 16943, 16963, 16979, 16981, 16987, 16993, 17011, 17021, 17027, 17029, 17033, 17041, 17047,
|
||||
17053, 17077, 17093, 17099, 17107, 17117, 17123, 17137, 17159, 17167, 17183, 17189, 17191, 17203, 17207, 17209,
|
||||
17231, 17239, 17257, 17291, 17293, 17299, 17317, 17321, 17327, 17333, 17341, 17351, 17359, 17377, 17383, 17387,
|
||||
17389, 17393, 17401, 17417, 17419, 17431, 17443, 17449, 17467, 17471, 17477, 17483, 17489, 17491, 17497, 17509,
|
||||
17519, 17539, 17551, 17569, 17573, 17579, 17581, 17597, 17599, 17609, 17623, 17627, 17657, 17659, 17669, 17681,
|
||||
17683, 17707, 17713, 17729, 17737, 17747, 17749, 17761, 17783, 17789, 17791, 17807, 17827, 17837, 17839, 17851,
|
||||
17863, 17881, 17891, 17903, 17909, 17911, 17921, 17923, 17929, 17939, 17957, 17959, 17971, 17977, 17981, 17987,
|
||||
17989, 18013, 18041, 18043, 18047, 18049, 18059, 18061, 18077, 18089, 18097, 18119, 18121, 18127, 18131, 18133,
|
||||
18143, 18149, 18169, 18181, 18191, 18199, 18211, 18217, 18223, 18229, 18233, 18251, 18253, 18257, 18269, 18287,
|
||||
18289, 18301, 18307, 18311, 18313, 18329, 18341, 18353, 18367, 18371, 18379, 18397, 18401, 18413, 18427, 18433,
|
||||
18439, 18443, 18451, 18457, 18461, 18481, 18493, 18503, 18517, 18521, 18523, 18539, 18541, 18553, 18583, 18587,
|
||||
18593, 18617, 18637, 18661, 18671, 18679, 18691, 18701, 18713, 18719, 18731, 18743, 18749, 18757, 18773, 18787,
|
||||
18793, 18797, 18803, 18839, 18859, 18869, 18899, 18911, 18913, 18917, 18919, 18947, 18959, 18973, 18979, 19001,
|
||||
19009, 19013, 19031, 19037, 19051, 19069, 19073, 19079, 19081, 19087, 19121, 19139, 19141, 19157, 19163, 19181,
|
||||
19183, 19207, 19211, 19213, 19219, 19231, 19237, 19249, 19259, 19267, 19273, 19289, 19301, 19309, 19319, 19333,
|
||||
19373, 19379, 19381, 19387, 19391, 19403, 19417, 19421, 19423, 19427, 19429, 19433, 19441, 19447, 19457, 19463,
|
||||
19469, 19471, 19477, 19483, 19489, 19501, 19507, 19531, 19541, 19543, 19553, 19559, 19571, 19577, 19583, 19597,
|
||||
19603, 19609, 19661, 19681, 19687, 19697, 19699, 19709, 19717, 19727, 19739, 19751, 19753, 19759, 19763, 19777,
|
||||
19793, 19801, 19813, 19819, 19841, 19843, 19853, 19861, 19867, 19889, 19891, 19913, 19919, 19927, 19937, 19949,
|
||||
19961, 19963, 19973, 19979, 19991, 19993, 19997, 20011, 20021, 20023, 20029, 20047, 20051, 20063, 20071, 20089,
|
||||
20101, 20107, 20113, 20117, 20123, 20129, 20143, 20147, 20149, 20161, 20173, 20177, 20183, 20201, 20219, 20231,
|
||||
20233, 20249, 20261, 20269, 20287, 20297, 20323, 20327, 20333, 20341, 20347, 20353, 20357, 20359, 20369, 20389,
|
||||
20393, 20399, 20407, 20411, 20431, 20441, 20443, 20477, 20479, 20483, 20507, 20509, 20521, 20533, 20543, 20549,
|
||||
20551, 20563, 20593, 20599, 20611, 20627, 20639, 20641, 20663, 20681, 20693, 20707, 20717, 20719, 20731, 20743,
|
||||
20747, 20749, 20753, 20759, 20771, 20773, 20789, 20807, 20809, 20849, 20857, 20873, 20879, 20887, 20897, 20899,
|
||||
20903, 20921, 20929, 20939, 20947, 20959, 20963, 20981, 20983, 21001, 21011, 21013, 21017, 21019, 21023, 21031,
|
||||
21059, 21061, 21067, 21089, 21101, 21107, 21121, 21139, 21143, 21149, 21157, 21163, 21169, 21179, 21187, 21191,
|
||||
21193, 21211, 21221, 21227, 21247, 21269, 21277, 21283, 21313, 21317, 21319, 21323, 21341, 21347, 21377, 21379,
|
||||
21383, 21391, 21397, 21401, 21407, 21419, 21433, 21467, 21481, 21487, 21491, 21493, 21499, 21503, 21517, 21521,
|
||||
21523, 21529, 21557, 21559, 21563, 21569, 21577, 21587, 21589, 21599, 21601, 21611, 21613, 21617, 21647, 21649,
|
||||
21661, 21673, 21683, 21701, 21713, 21727, 21737, 21739, 21751, 21757, 21767, 21773, 21787, 21799, 21803, 21817,
|
||||
21821, 21839, 21841, 21851, 21859, 21863, 21871, 21881, 21893, 21911, 21929, 21937, 21943, 21961, 21977, 21991,
|
||||
21997, 22003, 22013, 22027, 22031, 22037, 22039, 22051, 22063, 22067, 22073, 22079, 22091, 22093, 22109, 22111,
|
||||
22123, 22129, 22133, 22147, 22153, 22157, 22159, 22171, 22189, 22193, 22229, 22247, 22259, 22271, 22273, 22277,
|
||||
22279, 22283, 22291, 22303, 22307, 22343, 22349, 22367, 22369, 22381, 22391, 22397, 22409, 22433, 22441, 22447,
|
||||
22453, 22469, 22481, 22483, 22501, 22511, 22531, 22541, 22543, 22549, 22567, 22571, 22573, 22613, 22619, 22621,
|
||||
22637, 22639, 22643, 22651, 22669, 22679, 22691, 22697, 22699, 22709, 22717, 22721, 22727, 22739, 22741, 22751,
|
||||
22769, 22777, 22783, 22787, 22807, 22811, 22817, 22853, 22859, 22861, 22871, 22877, 22901, 22907, 22921, 22937,
|
||||
22943, 22961, 22963, 22973, 22993, 23003, 23011, 23017, 23021, 23027, 23029, 23039, 23041, 23053, 23057, 23059,
|
||||
23063, 23071, 23081, 23087, 23099, 23117, 23131, 23143, 23159, 23167, 23173, 23189, 23197, 23201, 23203, 23209,
|
||||
23227, 23251, 23269, 23279, 23291, 23293, 23297, 23311, 23321, 23327, 23333, 23339, 23357, 23369, 23371, 23399,
|
||||
23417, 23431, 23447, 23459, 23473, 23497, 23509, 23531, 23537, 23539, 23549, 23557, 23561, 23563, 23567, 23581,
|
||||
23593, 23599, 23603, 23609, 23623, 23627, 23629, 23633, 23663, 23669, 23671, 23677, 23687, 23689, 23719, 23741,
|
||||
23743, 23747, 23753, 23761, 23767, 23773, 23789, 23801, 23813, 23819, 23827, 23831, 23833, 23857, 23869, 23873,
|
||||
23879, 23887, 23893, 23899, 23909, 23911, 23917, 23929, 23957, 23971, 23977, 23981, 23993, 24001, 24007, 24019,
|
||||
24023, 24029, 24043, 24049, 24061, 24071, 24077, 24083, 24091, 24097, 24103, 24107, 24109, 24113, 24121, 24133,
|
||||
24137, 24151, 24169, 24179, 24181, 24197, 24203, 24223, 24229, 24239, 24247, 24251, 24281, 24317, 24329, 24337,
|
||||
24359, 24371, 24373, 24379, 24391, 24407, 24413, 24419, 24421, 24439, 24443, 24469, 24473, 24481, 24499, 24509,
|
||||
24517, 24527, 24533, 24547, 24551, 24571, 24593, 24611, 24623, 24631, 24659, 24671, 24677, 24683, 24691, 24697,
|
||||
24709, 24733, 24749, 24763, 24767, 24781, 24793, 24799, 24809, 24821, 24841, 24847, 24851, 24859, 24877, 24889,
|
||||
24907, 24917, 24919, 24923, 24943, 24953, 24967, 24971, 24977, 24979, 24989, 25013, 25031, 25033, 25037, 25057,
|
||||
25073, 25087, 25097, 25111, 25117, 25121, 25127, 25147, 25153, 25163, 25169, 25171, 25183, 25189, 25219, 25229,
|
||||
25237, 25243, 25247, 25253, 25261, 25301, 25303, 25307, 25309, 25321, 25339, 25343, 25349, 25357, 25367, 25373,
|
||||
25391, 25409, 25411, 25423, 25439, 25447, 25453, 25457, 25463, 25469, 25471, 25523, 25537, 25541, 25561, 25577,
|
||||
25579, 25583, 25589, 25601, 25603, 25609, 25621, 25633, 25639, 25643, 25657, 25667, 25673, 25679, 25693, 25703,
|
||||
25717, 25733, 25741, 25747, 25759, 25763, 25771, 25793, 25799, 25801, 25819, 25841, 25847, 25849, 25867, 25873,
|
||||
25889, 25903, 25913, 25919, 25931, 25933, 25939, 25943, 25951, 25969, 25981, 25997, 25999, 26003, 26017, 26021,
|
||||
26029, 26041, 26053, 26083, 26099, 26107, 26111, 26113, 26119, 26141, 26153, 26161, 26171, 26177, 26183, 26189,
|
||||
26203, 26209, 26227, 26237, 26249, 26251, 26261, 26263, 26267, 26293, 26297, 26309, 26317, 26321, 26339, 26347,
|
||||
26357, 26371, 26387, 26393, 26399, 26407, 26417, 26423, 26431, 26437, 26449, 26459, 26479, 26489, 26497, 26501,
|
||||
26513, 26539, 26557, 26561, 26573, 26591, 26597, 26627, 26633, 26641, 26647, 26669, 26681, 26683, 26687, 26693,
|
||||
26699, 26701, 26711, 26713, 26717, 26723, 26729, 26731, 26737, 26759, 26777, 26783, 26801, 26813, 26821, 26833,
|
||||
26839, 26849, 26861, 26863, 26879, 26881, 26891, 26893, 26903, 26921, 26927, 26947, 26951, 26953, 26959, 26981,
|
||||
26987, 26993, 27011, 27017, 27031, 27043, 27059, 27061, 27067, 27073, 27077, 27091, 27103, 27107, 27109, 27127,
|
||||
27143, 27179, 27191, 27197, 27211, 27239, 27241, 27253, 27259, 27271, 27277, 27281, 27283, 27299, 27329, 27337,
|
||||
27361, 27367, 27397, 27407, 27409, 27427, 27431, 27437, 27449, 27457, 27479, 27481, 27487, 27509, 27527, 27529,
|
||||
27539, 27541, 27551, 27581, 27583, 27611, 27617, 27631, 27647, 27653, 27673, 27689, 27691, 27697, 27701, 27733,
|
||||
27737, 27739, 27743, 27749, 27751, 27763, 27767, 27773, 27779, 27791, 27793, 27799, 27803, 27809, 27817, 27823,
|
||||
27827, 27847, 27851, 27883, 27893, 27901, 27917, 27919, 27941, 27943, 27947, 27953, 27961, 27967, 27983, 27997,
|
||||
28001, 28019, 28027, 28031, 28051, 28057, 28069, 28081, 28087, 28097, 28099, 28109, 28111, 28123, 28151, 28163,
|
||||
28181, 28183, 28201, 28211, 28219, 28229, 28277, 28279, 28283, 28289, 28297, 28307, 28309, 28319, 28349, 28351,
|
||||
28387, 28393, 28403, 28409, 28411, 28429, 28433, 28439, 28447, 28463, 28477, 28493, 28499, 28513, 28517, 28537,
|
||||
28541, 28547, 28549, 28559, 28571, 28573, 28579, 28591, 28597, 28603, 28607, 28619, 28621, 28627, 28631, 28643,
|
||||
28649, 28657, 28661, 28663, 28669, 28687, 28697, 28703, 28711, 28723, 28729, 28751, 28753, 28759, 28771, 28789,
|
||||
28793, 28807, 28813, 28817, 28837, 28843, 28859, 28867, 28871, 28879, 28901, 28909, 28921, 28927, 28933, 28949,
|
||||
28961, 28979, 29009, 29017, 29021, 29023, 29027, 29033, 29059, 29063, 29077, 29101, 29123, 29129, 29131, 29137,
|
||||
29147, 29153, 29167, 29173, 29179, 29191, 29201, 29207, 29209, 29221, 29231, 29243, 29251, 29269, 29287, 29297,
|
||||
29303, 29311, 29327, 29333, 29339, 29347, 29363, 29383, 29387, 29389, 29399, 29401, 29411, 29423, 29429, 29437,
|
||||
29443, 29453, 29473, 29483, 29501, 29527, 29531, 29537, 29567, 29569, 29573, 29581, 29587, 29599, 29611, 29629,
|
||||
29633, 29641, 29663, 29669, 29671, 29683, 29717, 29723, 29741, 29753, 29759, 29761, 29789, 29803, 29819, 29833,
|
||||
29837, 29851, 29863, 29867, 29873, 29879, 29881, 29917, 29921, 29927, 29947, 29959, 29983, 29989, 30011, 30013,
|
||||
30029, 30047, 30059, 30071, 30089, 30091, 30097, 30103, 30109, 30113, 30119, 30133, 30137, 30139, 30161, 30169,
|
||||
30181, 30187, 30197, 30203, 30211, 30223, 30241, 30253, 30259, 30269, 30271, 30293, 30307, 30313, 30319, 30323,
|
||||
30341, 30347, 30367, 30389, 30391, 30403, 30427, 30431, 30449, 30467, 30469, 30491, 30493, 30497, 30509, 30517,
|
||||
30529, 30539, 30553, 30557, 30559, 30577, 30593, 30631, 30637, 30643, 30649, 30661, 30671, 30677, 30689, 30697,
|
||||
30703, 30707, 30713, 30727, 30757, 30763, 30773, 30781, 30803, 30809, 30817, 30829, 30839, 30841, 30851, 30853,
|
||||
30859, 30869, 30871, 30881, 30893, 30911, 30931, 30937, 30941, 30949, 30971, 30977, 30983, 31013, 31019, 31033,
|
||||
31039, 31051, 31063, 31069, 31079, 31081, 31091, 31121, 31123, 31139, 31147, 31151, 31153, 31159, 31177, 31181,
|
||||
31183, 31189, 31193, 31219, 31223, 31231, 31237, 31247, 31249, 31253, 31259, 31267, 31271, 31277, 31307, 31319,
|
||||
31321, 31327, 31333, 31337, 31357, 31379, 31387, 31391, 31393, 31397, 31469, 31477, 31481, 31489, 31511, 31513,
|
||||
31517, 31531, 31541, 31543, 31547, 31567, 31573, 31583, 31601, 31607, 31627, 31643
|
||||
};
|
||||
|
||||
bool is_prime(const unsigned int n) {
|
||||
if (n < 2) { return false; }
|
||||
for (unsigned int p : PRIMES) {
|
||||
if (n % p == 0) { return false; }
|
||||
if (p * p > n) { return true; }
|
||||
}
|
||||
throw overflow_error("The number is too large");
|
||||
}
|
||||
|
||||
|
||||
unsigned int palindromic_number_from_last_half(unsigned int half, const unsigned int digits) {
|
||||
unsigned int other_half = 0, n = half;
|
||||
for (int _ = 0; _ < (digits + 1) / 2; _++) {
|
||||
other_half = other_half * 10 + half % 10;
|
||||
half /= 10;
|
||||
}
|
||||
if (digits % 2 != 0) { other_half /= 10; } // 中间一位不应当重复加
|
||||
n += static_cast<unsigned int>(pow(10, (digits + 1) / 2)) * other_half;
|
||||
return n;
|
||||
}
|
||||
|
||||
|
||||
int main() {
|
||||
ios::sync_with_stdio(false);
|
||||
cin.tie(nullptr);
|
||||
|
||||
int digits, ans = 0;
|
||||
vector<unsigned int> palindromic_primes;
|
||||
cin >> digits;
|
||||
|
||||
if (digits == 1) {
|
||||
cout << "4\n2 3 5 7" << endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (unsigned int half = 1; half < pow(10, (digits + 1) / 2); half += 2) {
|
||||
unsigned int n = palindromic_number_from_last_half(half, digits);
|
||||
if (is_prime(n)) {
|
||||
ans++;
|
||||
palindromic_primes.push_back(n);
|
||||
}
|
||||
}
|
||||
sort(palindromic_primes.begin(), palindromic_primes.end());
|
||||
cout << ans << endl;
|
||||
for (const unsigned int p : palindromic_primes) {
|
||||
cout << p << " ";
|
||||
}
|
||||
cout << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
import math
|
||||
|
||||
MAX_N = math.ceil(1e9 ** 0.5) + 5
|
||||
|
||||
primes: list[int] = [2, 3, 5, 7, 11]
|
||||
|
||||
|
||||
def append_prime():
|
||||
for next_number in range(primes[-1]+2, MAX_N + 10000, 2):
|
||||
for p in primes:
|
||||
if next_number % p == 0:
|
||||
break
|
||||
if p * p > next_number:
|
||||
primes.append(next_number)
|
||||
print(next_number)
|
||||
return
|
||||
|
||||
|
||||
def write_primes(file_name):
|
||||
with open(file_name, 'w') as f:
|
||||
f.write(", ".join(map(str, primes)))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
while primes[-1] < MAX_N:
|
||||
append_prime()
|
||||
|
||||
print(len(primes))
|
||||
write_primes('pojcs101_M03247_palindromic_prime_init1.out')
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <numeric>
|
||||
|
||||
using namespace std;
|
||||
|
||||
template <typename T>
|
||||
void log_vector(const vector<T>& vec, const string& prefix = "") {
|
||||
clog << prefix;
|
||||
for (const T i : vec) { clog << i << " "; }
|
||||
clog << endl;
|
||||
}
|
||||
|
||||
vector<int> get_divisors(const int n) {
|
||||
vector<int> small_divisors = {1};
|
||||
vector<int> big_factors = {n};
|
||||
for (int i = 2; i * i <= n; i++) {
|
||||
if (n % i == 0) {
|
||||
small_divisors.push_back(i);
|
||||
big_factors.push_back(n / i);
|
||||
}
|
||||
}
|
||||
// reverse(small_divisors.begin(), small_divisors.end());
|
||||
// big_factors.insert(big_factors.end(), small_divisors.begin(), small_divisors.end());
|
||||
// return big_factors;
|
||||
reverse(big_factors.begin(), big_factors.end());
|
||||
small_divisors.insert(small_divisors.end(), big_factors.begin(), big_factors.end());
|
||||
return small_divisors;
|
||||
}
|
||||
|
||||
bool verify_length_dfs(const vector<int>& sorted_cut_sticks,
|
||||
const int target_length,
|
||||
const int remaining_length,
|
||||
const int original_sticks,
|
||||
const int remaining_sticks,
|
||||
size_t global_right_idx,
|
||||
const size_t right_idx,
|
||||
vector<bool>& used
|
||||
) {
|
||||
// clog << "verify_length_dfs(" << target_length << ") " << remaining_length << " " << remaining_sticks << "x " <<
|
||||
// global_right_idx << "->" << right_idx << endl;
|
||||
// log_vector(used, "used: ");
|
||||
if (remaining_sticks == 0) { return true; }
|
||||
bool result = false;
|
||||
for (int i = static_cast<int>(right_idx); i >= 0; i--) {
|
||||
if (target_length < sorted_cut_sticks[i]) { return false; }
|
||||
if (used[i]) { continue; }
|
||||
if (remaining_length < sorted_cut_sticks[i]) { continue; }
|
||||
used[i] = true;
|
||||
if (remaining_length == sorted_cut_sticks[i]) { // 下一根
|
||||
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;
|
||||
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;
|
||||
}
|
||||
|
||||
/// 需要保证 sorted_cut_sticks 有序;需要保证 target_length * remaining_sticks = 总长度
|
||||
bool verify_length_dfs(const vector<int>& sorted_cut_sticks,
|
||||
const int target_length,
|
||||
const int remaining_sticks) {
|
||||
vector<bool> used(sorted_cut_sticks.size(), false);
|
||||
bool result = verify_length_dfs(sorted_cut_sticks, target_length, target_length, remaining_sticks,
|
||||
remaining_sticks, sorted_cut_sticks.size() - 1, sorted_cut_sticks.size() - 1, used);
|
||||
// log_vector(used, "used: ");
|
||||
return result;
|
||||
}
|
||||
|
||||
int get_shortest_original_length(vector<int> cut_sticks) {
|
||||
sort(cut_sticks.begin(), cut_sticks.end());
|
||||
const int total_length = accumulate(cut_sticks.begin(), cut_sticks.end(), 0);
|
||||
const vector<int> divisors = get_divisors(total_length);
|
||||
log_vector(divisors, "divisors: ");
|
||||
for (const int divisor : divisors) {
|
||||
if (verify_length_dfs(cut_sticks, divisor, total_length / divisor)) {
|
||||
return divisor;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int main() {
|
||||
ios::sync_with_stdio(false);
|
||||
cin.tie(nullptr);
|
||||
|
||||
int cut_sticks_amount;
|
||||
while (cin >> cut_sticks_amount && cut_sticks_amount) {
|
||||
vector<int> cut_sticks(cut_sticks_amount);
|
||||
for (int i = 0; i < cut_sticks_amount; i++) {
|
||||
cin >> cut_sticks[i];
|
||||
}
|
||||
sort(cut_sticks.begin(), cut_sticks.end());
|
||||
log_vector(cut_sticks, "cut_sticks: ");
|
||||
// int target_length;
|
||||
// cin >> target_length;
|
||||
// cout << (verify_length_greedy(cut_sticks, target_length) ? "Yes" : "No") << endl;
|
||||
cout << get_shortest_original_length(cut_sticks) << endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <numeric>
|
||||
|
||||
using namespace std;
|
||||
|
||||
void log_vector(const vector<int>& vec, const string& prefix = "") {
|
||||
clog << prefix;
|
||||
for (const int i : vec) { clog << i << " "; }
|
||||
clog << endl;
|
||||
}
|
||||
|
||||
vector<int> get_divisors(const int n) {
|
||||
vector<int> small_divisors = {1};
|
||||
vector<int> big_factors = {n};
|
||||
for (int i = 2; i * i <= n; i++) {
|
||||
if (n % i == 0) {
|
||||
small_divisors.push_back(i);
|
||||
big_factors.push_back(n / i);
|
||||
}
|
||||
}
|
||||
// reverse(small_divisors.begin(), small_divisors.end());
|
||||
// big_factors.insert(big_factors.end(), small_divisors.begin(), small_divisors.end());
|
||||
// return big_factors;
|
||||
reverse(big_factors.begin(), big_factors.end());
|
||||
small_divisors.insert(small_divisors.end(), big_factors.begin(), big_factors.end());
|
||||
return small_divisors;
|
||||
}
|
||||
|
||||
/// 需要保证 sorted_cut_sticks 有序;需要保证 target_length 是总长度的因数
|
||||
bool verify_length_greedy(vector<int> sorted_cut_sticks, const int target_length) {
|
||||
// if (target_times == 0) { return true; }
|
||||
// if (sorted_cut_sticks.empty()) { throw logic_error("Invalid target_times"); }
|
||||
if (sorted_cut_sticks.empty()) { return true; }
|
||||
if (sorted_cut_sticks.back() > target_length) { return false; }
|
||||
int remaining_length = target_length - sorted_cut_sticks.back();
|
||||
sorted_cut_sticks.pop_back();
|
||||
if (remaining_length == 0) {
|
||||
return verify_length_greedy(sorted_cut_sticks, target_length);
|
||||
}
|
||||
while (true) {
|
||||
auto closest_iter = lower_bound(sorted_cut_sticks.begin(), sorted_cut_sticks.end(), remaining_length);
|
||||
if (closest_iter != sorted_cut_sticks.end() && *closest_iter == remaining_length) {
|
||||
sorted_cut_sticks.erase(closest_iter);
|
||||
// log_vector(sorted_cut_sticks, "after erase: ");
|
||||
return verify_length_greedy(sorted_cut_sticks, target_length);
|
||||
}
|
||||
if (closest_iter == sorted_cut_sticks.begin()) { // 都太长了!
|
||||
return false;
|
||||
}
|
||||
closest_iter -= 1; // 第一个小于 remaining_length 的元素的 iter
|
||||
remaining_length -= *closest_iter;
|
||||
sorted_cut_sticks.erase(closest_iter);
|
||||
}
|
||||
}
|
||||
|
||||
int get_shortest_original_length(vector<int> cut_sticks) {
|
||||
sort(cut_sticks.begin(), cut_sticks.end());
|
||||
const int total_length = accumulate(cut_sticks.begin(), cut_sticks.end(), 0);
|
||||
const vector<int> divisors = get_divisors(total_length);
|
||||
log_vector(divisors, "divisors: ");
|
||||
for (const int divisor : divisors) {
|
||||
if (verify_length_greedy(cut_sticks, divisor)) {
|
||||
return divisor;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int main() {
|
||||
ios::sync_with_stdio(false);
|
||||
cin.tie(nullptr);
|
||||
|
||||
int cut_sticks_amount;
|
||||
while (cin >> cut_sticks_amount && cut_sticks_amount) {
|
||||
vector<int> cut_sticks(cut_sticks_amount);
|
||||
for (int i = 0; i < cut_sticks_amount; i++) {
|
||||
cin >> cut_sticks[i];
|
||||
}
|
||||
sort(cut_sticks.begin(), cut_sticks.end());
|
||||
log_vector(cut_sticks, "cut_sticks: ");
|
||||
// int target_length;
|
||||
// cin >> target_length;
|
||||
// cout << (verify_length_greedy(cut_sticks, target_length) ? "Yes" : "No") << endl;
|
||||
cout << get_shortest_original_length(cut_sticks) << endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user