2
This commit is contained in:
Generated
-2
@@ -1,2 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module classpath="CIDR" type="CPP_MODULE" version="4" />
|
|
||||||
Generated
+40
-34
@@ -10,26 +10,13 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="4491295e-723c-4e0b-b7b4-9be1cbde5db8" name="更改" comment="">
|
<list default="true" id="4491295e-723c-4e0b-b7b4-9be1cbde5db8" name="更改" comment="">
|
||||||
<change afterPath="$PROJECT_DIR$/.idea/editor.xml" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/lc_127.py" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/luogu_ez_B3628.cpp" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/pojcs101_M01017_6_boxes.cpp" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/pojcs101_E01003.cpp" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/pojcs101_M02692_12_coins.cpp" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/pojcs101_E01218.cpp" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/pojcs101_M02692_12_coins_WRONG.cpp" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/pojcs101_E02883.cpp" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/exercises.iml" beforeDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/pojcs101_M01002.cpp" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/pojcs101_M02692.cpp" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/pojcs101_M01002.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/pojcs101_M01002_memorable_number.cpp" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/.gitignore" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/CodeEpiphany/challenges.db" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/CodeEpiphany/luogu.xml" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/MarsCodeWorkspaceAppSettings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/MarsCodeWorkspaceAppSettings.xml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/codeStyles/Project.xml" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/codeStyles/codeStyleConfig.xml" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/exercises@1.iml" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/inspectionProfiles/profiles_settings.xml" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/pyProjectModel.xml" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@@ -67,14 +54,17 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent"><![CDATA[{
|
<component name="PropertiesComponent"><![CDATA[{
|
||||||
"keyToString": {
|
"keyToString": {
|
||||||
|
"C/C++ 文件.D_pojcs101_M02692.cpp.executor": "Run",
|
||||||
"C/C++ 文件.luogu_UVA755.cpp.executor": "Run",
|
"C/C++ 文件.luogu_UVA755.cpp.executor": "Run",
|
||||||
"C/C++ 文件.luogu_ez_B3628.cpp.executor": "Run",
|
"C/C++ 文件.luogu_ez_B3628.cpp.executor": "Run",
|
||||||
"C/C++ 文件.ojcs101_E01003.cpp.executor": "Run",
|
"C/C++ 文件.ojcs101_E01003.cpp.executor": "Run",
|
||||||
"C/C++ 文件.ojcs101_E01218.cpp.executor": "Run",
|
"C/C++ 文件.ojcs101_E01218.cpp.executor": "Run",
|
||||||
"C/C++ 文件.ojcs101_E02883.cpp.executor": "Run",
|
"C/C++ 文件.ojcs101_E02883.cpp.executor": "Run",
|
||||||
|
"C/C++ 文件.pojcs101_M01017_6_boxes.cpp.executor": "Run",
|
||||||
"C/C++ 文件.pojcs101_M02692.cpp.executor": "Run",
|
"C/C++ 文件.pojcs101_M02692.cpp.executor": "Run",
|
||||||
"CidrDebugProfileConversion": "true",
|
"CidrDebugProfileConversion": "true",
|
||||||
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
||||||
|
"Python.lc_127.executor": "Run",
|
||||||
"RunOnceActivity.RadMigrateCodeStyle": "true",
|
"RunOnceActivity.RadMigrateCodeStyle": "true",
|
||||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
"RunOnceActivity.cidr.known.project.marker": "true",
|
"RunOnceActivity.cidr.known.project.marker": "true",
|
||||||
@@ -84,20 +74,23 @@
|
|||||||
"cidr.known.project.marker": "true",
|
"cidr.known.project.marker": "true",
|
||||||
"codeWithMe.voiceChat.enabledByDefault": "false",
|
"codeWithMe.voiceChat.enabledByDefault": "false",
|
||||||
"git-widget-placeholder": "main",
|
"git-widget-placeholder": "main",
|
||||||
|
"last_opened_file_path": "E:/Projects/exercises",
|
||||||
|
"node.js.detected.package.jshint": "true",
|
||||||
|
"node.js.selected.package.jshint": "",
|
||||||
"nodejs_package_manager_path": "npm",
|
"nodejs_package_manager_path": "npm",
|
||||||
"org.rust.first.attach.projects": "true",
|
"org.rust.first.attach.projects": "true",
|
||||||
"settings.editor.selected.configurable": "preferences.sourceCode.C++"
|
"settings.editor.selected.configurable": "preferences.sourceCode.C++"
|
||||||
}
|
}
|
||||||
}]]></component>
|
}]]></component>
|
||||||
<component name="RunManager" selected="C/C++ 文件.pojcs101_M02692.cpp">
|
<component name="RunManager" selected="C/C++ 文件.pojcs101_M01017_6_boxes.cpp">
|
||||||
<configuration name="luogu_UVA755.cpp" type="CppFileRunConfiguration" factoryName="CppFileRunConfiguration" temporary="true" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="luogu_UVA755.cpp" CONFIG_NAME="luogu_UVA755.cpp">
|
<configuration name="D_pojcs101_M02692.cpp" type="CppFileRunConfiguration" factoryName="CppFileRunConfiguration" temporary="true" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="D_pojcs101_M02692.cpp" CONFIG_NAME="D_pojcs101_M02692.cpp">
|
||||||
<option name="sourceFile" value="luogu_UVA755.cpp" />
|
<option name="sourceFile" value="D_pojcs101_M02692.cpp" />
|
||||||
<method v="2">
|
<method v="2">
|
||||||
<option name="com.jetbrains.cidr.cpp.runfile.CppFileBuildBeforeRunTaskProvider$BasicBuildBeforeRunTask" enabled="true" />
|
<option name="com.jetbrains.cidr.cpp.runfile.CppFileBuildBeforeRunTaskProvider$BasicBuildBeforeRunTask" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration name="luogu_ez_B3628.cpp" type="CppFileRunConfiguration" factoryName="CppFileRunConfiguration" temporary="true" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="luogu_ez_B3628.cpp" CONFIG_NAME="luogu_ez_B3628.cpp">
|
<configuration name="luogu_UVA755.cpp" type="CppFileRunConfiguration" factoryName="CppFileRunConfiguration" temporary="true" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="luogu_UVA755.cpp" CONFIG_NAME="luogu_UVA755.cpp">
|
||||||
<option name="sourceFile" value="luogu_ez_B3628.cpp" />
|
<option name="sourceFile" value="luogu_UVA755.cpp" />
|
||||||
<method v="2">
|
<method v="2">
|
||||||
<option name="com.jetbrains.cidr.cpp.runfile.CppFileBuildBeforeRunTaskProvider$BasicBuildBeforeRunTask" enabled="true" />
|
<option name="com.jetbrains.cidr.cpp.runfile.CppFileBuildBeforeRunTaskProvider$BasicBuildBeforeRunTask" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
@@ -114,21 +107,26 @@
|
|||||||
<option name="com.jetbrains.cidr.cpp.runfile.CppFileBuildBeforeRunTaskProvider$BasicBuildBeforeRunTask" enabled="true" />
|
<option name="com.jetbrains.cidr.cpp.runfile.CppFileBuildBeforeRunTaskProvider$BasicBuildBeforeRunTask" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<configuration name="pojcs101_M01017_6_boxes.cpp" type="CppFileRunConfiguration" factoryName="CppFileRunConfiguration" 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.cpp" CONFIG_NAME="pojcs101_M01017_6_boxes.cpp">
|
||||||
|
<option name="sourceFile" value="pojcs101_M01017_6_boxes.cpp" />
|
||||||
|
<method v="2">
|
||||||
|
<option name="com.jetbrains.cidr.cpp.runfile.CppFileBuildBeforeRunTaskProvider$BasicBuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
<configuration name="pojcs101_M02692.cpp" type="CppFileRunConfiguration" factoryName="CppFileRunConfiguration" temporary="true" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_M02692.cpp" CONFIG_NAME="pojcs101_M02692.cpp">
|
<configuration name="pojcs101_M02692.cpp" type="CppFileRunConfiguration" factoryName="CppFileRunConfiguration" temporary="true" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="exercises" TARGET_NAME="pojcs101_M02692.cpp" CONFIG_NAME="pojcs101_M02692.cpp">
|
||||||
<option name="sourceFile" value="pojcs101_M02692.cpp" />
|
<option name="sourceFile" value="pojcs101_M02692.cpp" />
|
||||||
<method v="2">
|
<method v="2">
|
||||||
<option name="com.jetbrains.cidr.cpp.runfile.CppFileBuildBeforeRunTaskProvider$BasicBuildBeforeRunTask" enabled="true" />
|
<option name="com.jetbrains.cidr.cpp.runfile.CppFileBuildBeforeRunTaskProvider$BasicBuildBeforeRunTask" enabled="true" />
|
||||||
</method>
|
</method>
|
||||||
</configuration>
|
</configuration>
|
||||||
<recent_temporary>
|
</component>
|
||||||
<list>
|
<component name="SharedIndexes">
|
||||||
<item itemvalue="C/C++ 文件.pojcs101_M02692.cpp" />
|
<attachedChunks>
|
||||||
<item itemvalue="C/C++ 文件.luogu_UVA755.cpp" />
|
<set>
|
||||||
<item itemvalue="C/C++ 文件.luogu_ez_B3628.cpp" />
|
<option value="bundled-js-predefined-d6986cc7102b-4abd2a77f808-JavaScript-PY-262.8665.309" />
|
||||||
<item itemvalue="C/C++ 文件.ojcs101_E02883.cpp" />
|
<option value="bundled-python-sdk-c6d794e1806d-5bd6d13a2a75-com.jetbrains.pycharm.pro.sharedIndexes.bundled-PY-262.8665.309" />
|
||||||
<item itemvalue="C/C++ 文件.ojcs101_E01218.cpp" />
|
</set>
|
||||||
</list>
|
</attachedChunks>
|
||||||
</recent_temporary>
|
|
||||||
</component>
|
</component>
|
||||||
<component name="TaskManager">
|
<component name="TaskManager">
|
||||||
<task active="true" id="Default" summary="默认任务">
|
<task active="true" id="Default" summary="默认任务">
|
||||||
@@ -137,14 +135,22 @@
|
|||||||
<option name="number" value="Default" />
|
<option name="number" value="Default" />
|
||||||
<option name="presentableId" value="Default" />
|
<option name="presentableId" value="Default" />
|
||||||
<updated>1784800801763</updated>
|
<updated>1784800801763</updated>
|
||||||
|
<workItem from="1784856532675" duration="4766000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TypeScriptGeneratedFilesManager">
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
<option name="version" value="3" />
|
<option name="version" value="3" />
|
||||||
</component>
|
</component>
|
||||||
|
<component name="VcsManagerConfiguration">
|
||||||
|
<MESSAGE value="1" />
|
||||||
|
<option name="LAST_COMMIT_MESSAGE" value="1" />
|
||||||
|
</component>
|
||||||
<component name="XSLT-Support.FileAssociations.UIState">
|
<component name="XSLT-Support.FileAssociations.UIState">
|
||||||
<expand />
|
<expand />
|
||||||
<select />
|
<select />
|
||||||
</component>
|
</component>
|
||||||
|
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
||||||
|
<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$" />
|
||||||
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
class Solution:
|
||||||
|
def __init__(self):
|
||||||
|
self.number_set: set[int] = set() # 哈希表,全 O(1)
|
||||||
|
self.longest_length: int = 1
|
||||||
|
|
||||||
|
def longestConsecutive(self, nums: list[int]) -> int:
|
||||||
|
if not nums: return 0
|
||||||
|
self.number_set = set(nums) # O(n)
|
||||||
|
for n in self.number_set:
|
||||||
|
# n = self.number_set.pop()
|
||||||
|
# print(n, file=sys.stderr)
|
||||||
|
current_length: int = 1
|
||||||
|
if n + 1 in self.number_set:
|
||||||
|
continue
|
||||||
|
# pointer = n
|
||||||
|
# while True:
|
||||||
|
# if pointer + 1 in self.number_set:
|
||||||
|
# pointer += 1
|
||||||
|
# current_length += 1
|
||||||
|
# self.number_set.remove(pointer)
|
||||||
|
# else:
|
||||||
|
# break
|
||||||
|
pointer = n
|
||||||
|
while True:
|
||||||
|
if pointer - 1 in self.number_set:
|
||||||
|
pointer -= 1
|
||||||
|
current_length += 1
|
||||||
|
# self.number_set.remove(pointer)
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
self.longest_length = max(current_length, self.longest_length)
|
||||||
|
|
||||||
|
return self.longest_length
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sol = Solution()
|
||||||
|
print(sol.longestConsecutive([100, 4, 200, 1, 3, 2]))
|
||||||
|
print(sol.longestConsecutive([0, 3, 7, 2, 5, 8, 4, 6, 0, 1]))
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int package_requirement(vector<int> box_counts) {
|
||||||
|
int answer = box_counts[5] + box_counts[4] + box_counts[3];
|
||||||
|
// 5x5
|
||||||
|
box_counts[0] -= min(box_counts[4] * 11, box_counts[0]);
|
||||||
|
// 4x4
|
||||||
|
box_counts[1] -= box_counts[3] * 5;
|
||||||
|
if (box_counts[1] < 0) {
|
||||||
|
// 放 1x1
|
||||||
|
box_counts[0] -= min(-box_counts[1] * 4, box_counts[0]);
|
||||||
|
box_counts[1] = 0;
|
||||||
|
}
|
||||||
|
// 3x3
|
||||||
|
if (box_counts[2]) {
|
||||||
|
answer += (box_counts[2] - 1) / 4 + 1;
|
||||||
|
switch (4 - box_counts[2] % 4) {
|
||||||
|
case 4: break;
|
||||||
|
case 1:
|
||||||
|
box_counts[1]--;
|
||||||
|
box_counts[0] -= min(5, box_counts[0]);;
|
||||||
|
// if (box_counts[1]) {
|
||||||
|
// box_counts[1]--;
|
||||||
|
// box_counts[0] -= min(5, box_counts[0]);;
|
||||||
|
// } else {
|
||||||
|
// box_counts[0] -= min(9, box_counts[0]);
|
||||||
|
// }
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
box_counts[1] -= 3;
|
||||||
|
box_counts[0] -= min(6, box_counts[0]);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
box_counts[1] -= 5;
|
||||||
|
box_counts[0] -= min(7, box_counts[0]);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw logic_error("remaining_3x3_areas must be 4(0), 1, 2, or 3");
|
||||||
|
}
|
||||||
|
if (box_counts[1] < 0) {
|
||||||
|
// 放 1x1
|
||||||
|
box_counts[0] -= min(-box_counts[1] * 4, box_counts[0]);
|
||||||
|
box_counts[1] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 2x2
|
||||||
|
if (box_counts[1]) {
|
||||||
|
answer += (box_counts[1] - 1) / 9 + 1;
|
||||||
|
int remaining_2x2_areas = 9 - box_counts[1] % 9;
|
||||||
|
if (remaining_2x2_areas == 9) { remaining_2x2_areas = 0; }
|
||||||
|
box_counts[0] -= min(remaining_2x2_areas * 4, box_counts[0]);
|
||||||
|
}
|
||||||
|
// 1x1
|
||||||
|
if (box_counts[0]) {
|
||||||
|
answer += (box_counts[0] - 1) / 36 + 1;
|
||||||
|
}
|
||||||
|
return answer;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
vector<int> box_counts(6);
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
cin >> box_counts[0] >> box_counts[1] >> box_counts[2] >> box_counts[3] >> box_counts[4] >> box_counts[5];
|
||||||
|
if (box_counts[0] == 0 && box_counts[1] == 0 && box_counts[2] == 0 && box_counts[3] == 0 && box_counts[4] == 0
|
||||||
|
&& box_counts[5] == 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
cout << package_requirement(box_counts) << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
#include <cstring>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
void solveGroup() {
|
||||||
|
bool tempList[12] = {false};
|
||||||
|
bool realCoins[12] = {false};
|
||||||
|
vector<pair<string, string> > lighterResults;
|
||||||
|
for (int _ = 0; _ < 3; _++) {
|
||||||
|
string s1, s2, comparison;
|
||||||
|
cin >> s1 >> s2 >> comparison;
|
||||||
|
if (comparison == "even") {
|
||||||
|
for (const char c: s1 + s2) {
|
||||||
|
realCoins[c - 'A'] = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
memset(tempList, false, sizeof(tempList));
|
||||||
|
for (const char c: s1 + s2) { tempList[c - 'A'] = true; }
|
||||||
|
for (int i = 0; i < 12; i++) {
|
||||||
|
if (!tempList[i]) { realCoins[i] = true; }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (comparison == "down") {
|
||||||
|
lighterResults.emplace_back(s2, s1);
|
||||||
|
} else {
|
||||||
|
lighterResults.emplace_back(s1, s2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int i = 0; i < 12; i++) {
|
||||||
|
if (realCoins[i]) continue;
|
||||||
|
int conclusion = 0;
|
||||||
|
for (const auto &[s1, s2]: lighterResults) {
|
||||||
|
if (s1.find(static_cast<char>(i + 'A')) != string::npos) {
|
||||||
|
if (conclusion == 1) {
|
||||||
|
conclusion = -2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
conclusion = -1;
|
||||||
|
} else if (s2.find(static_cast<char>(i + 'A')) != string::npos) {
|
||||||
|
if (conclusion == -1) {
|
||||||
|
conclusion = -2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
conclusion = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (conclusion == -2 || conclusion == 0) { continue; }
|
||||||
|
cout << static_cast<char>(i + 'A') << " is the counterfeit coin and it is "
|
||||||
|
<< (conclusion == 1 ? "light." : "heavy.") << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
int n;
|
||||||
|
cin >> n;
|
||||||
|
for (int _ = 0; _ < n; _++) {
|
||||||
|
solveGroup();
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
#include <cstring>
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
void solveGroup() {
|
||||||
|
int fakeValue[12] = {};
|
||||||
|
bool tempList[12] = {false};
|
||||||
|
// int realCount = 0;
|
||||||
|
vector<pair<string, string> > lighterResults;
|
||||||
|
for (int _ = 0; _ < 3; _++) {
|
||||||
|
string s1, s2, comparison;
|
||||||
|
cin >> s1 >> s2 >> comparison;
|
||||||
|
memset(tempList, false, sizeof(tempList));
|
||||||
|
if (comparison == "even") {
|
||||||
|
// 八个都是真的
|
||||||
|
for (const char c: s1 + s2) {
|
||||||
|
tempList[c - 'A'] = true;
|
||||||
|
fakeValue[c - 'A'] -= 120;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < 12; i++) {
|
||||||
|
if (!tempList[i]) { fakeValue[i]++; }
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 剩下四个是真的
|
||||||
|
for (const char c: s1 + s2) {
|
||||||
|
tempList[c - 'A'] = true;
|
||||||
|
fakeValue[c - 'A']++;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < 12; i++) {
|
||||||
|
if (!tempList[i]) { fakeValue[i] -= 120; }
|
||||||
|
}
|
||||||
|
// 不着急比
|
||||||
|
if (comparison == "down") {
|
||||||
|
lighterResults.emplace_back(s2, s1);
|
||||||
|
} else {
|
||||||
|
lighterResults.emplace_back(s1, s2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const int val: fakeValue) {
|
||||||
|
clog << val << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int theFakeOne = -1, maxFakeVal = -120;
|
||||||
|
for (int i = 0; i < 12; i++) {
|
||||||
|
if (fakeValue[i] > maxFakeVal) {
|
||||||
|
maxFakeVal = fakeValue[i];
|
||||||
|
theFakeOne = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const auto &[s1, s2]: lighterResults) {
|
||||||
|
for (const char c: s1) {
|
||||||
|
if (c == 'A' + theFakeOne) {
|
||||||
|
cout << static_cast<char>(theFakeOne + 'A') << " is the counterfeit coin and it is heavy." << endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const char c: s2) {
|
||||||
|
if (c == 'A' + theFakeOne) {
|
||||||
|
cout << static_cast<char>(theFakeOne + 'A') << " is the counterfeit coin and it is light." << endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
ios::sync_with_stdio(false);
|
||||||
|
cin.tie(nullptr);
|
||||||
|
|
||||||
|
int n;
|
||||||
|
cin >> n;
|
||||||
|
for (int _ = 0; _ < n; _++) {
|
||||||
|
solveGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user