Commit MetaInfo

Revision389ac7a27c36437271602cec108bd53bbfcdae52 (tree)
Time2022-12-07 00:44:25
AuthorSecT
CommiterSecT

Log Message

Task 2022 04 B CPP PASS

Change Summary

Incremental Difference

diff -r 4a9de04db2eb -r 389ac7a27c36 Cpp/adventOfCode/input_2022_Task_04_example_B.txt
--- a/Cpp/adventOfCode/input_2022_Task_04_example_B.txt Tue Dec 06 08:25:59 2022 +0100
+++ b/Cpp/adventOfCode/input_2022_Task_04_example_B.txt Tue Dec 06 16:44:25 2022 +0100
@@ -1,6 +1,6 @@
1-vJrwpWtwJgWrhcsFMMfFFhFp
2-jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
3-PmmdzqPrVvPwwTWBwg
4-wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
5-ttgJtRGJQctTZtZT
6-CrZsJsPPZsGzwwsLwLmpwMDw
\ No newline at end of file
1+2-4,6-8
2+2-3,4-5
3+5-7,7-9
4+2-8,3-7
5+6-6,4-6
6+2-6,4-8
\ No newline at end of file
diff -r 4a9de04db2eb -r 389ac7a27c36 Cpp/adventOfCode/main.cpp
--- a/Cpp/adventOfCode/main.cpp Tue Dec 06 08:25:59 2022 +0100
+++ b/Cpp/adventOfCode/main.cpp Tue Dec 06 16:44:25 2022 +0100
@@ -128,8 +128,8 @@
128128 Task_2022_04 task2022_04;
129129 //task2022_04.disableExample(0);
130130 //task2022_04.disableSubtask(0);
131- task2022_04.disableExample(1);
132- task2022_04.disableSubtask(1);
131+ //task2022_04.disableExample(1);
132+ //task2022_04.disableSubtask(1);
133133 task_runner.runTask(&task2022_04, 2022, 4);
134134
135135 cout<<"End"<<endl;
diff -r 4a9de04db2eb -r 389ac7a27c36 Cpp/adventOfCode/tasks.cpp
--- a/Cpp/adventOfCode/tasks.cpp Tue Dec 06 08:25:59 2022 +0100
+++ b/Cpp/adventOfCode/tasks.cpp Tue Dec 06 16:44:25 2022 +0100
@@ -2162,5 +2162,37 @@
21622162 }
21632163 int Task_2022_04::processTask_B(std::vector<string>& inputData)
21642164 {
2165- return 0;
2165+ int result = 0;
2166+
2167+ for (auto it = inputData.begin(); it != inputData.end(); it++)
2168+ {
2169+ //parse input line
2170+ std::vector<string> ranges;
2171+ splitString((*it), ranges, ',');
2172+
2173+ std::vector<string> boundariesForFirst;
2174+ std::vector<string> boundariesForSecond;
2175+
2176+ splitString(ranges[0], boundariesForFirst, '-');
2177+ splitString(ranges[1], boundariesForSecond, '-');
2178+
2179+ int leftBoundaryForFirst = std::stoi(boundariesForFirst[0]);
2180+ int rightBoundaryForFirst = std::stoi(boundariesForFirst[1]);
2181+
2182+ int leftBoundaryForSecond = std::stoi(boundariesForSecond[0]);
2183+ int rightBoundaryForSecond = std::stoi(boundariesForSecond[1]);
2184+
2185+
2186+ if (rightBoundaryForFirst < leftBoundaryForSecond || rightBoundaryForSecond < leftBoundaryForFirst)
2187+ {
2188+ //completely separated
2189+ //do nothing
2190+ }
2191+ else
2192+ {
2193+ result++;
2194+ }
2195+ }
2196+
2197+ return result;
21662198 }
\ No newline at end of file
diff -r 4a9de04db2eb -r 389ac7a27c36 Cpp/adventOfCode/tasks.h
--- a/Cpp/adventOfCode/tasks.h Tue Dec 06 08:25:59 2022 +0100
+++ b/Cpp/adventOfCode/tasks.h Tue Dec 06 16:44:25 2022 +0100
@@ -463,10 +463,10 @@
463463 testValuesForInputFile[2] = "29-31,12-28";
464464
465465 testValuesForExamples[0] = 2;
466- testValuesForExamples[1] = 0;
466+ testValuesForExamples[1] = 4;
467467
468468 testValuesForTask[0] = 595;
469- testValuesForTask[1] = 0;
469+ testValuesForTask[1] = 952;
470470
471471 }
472472
Show on old repository browser