This commit is contained in:
limb 2021-12-01 19:58:41 +00:00
parent 904c8fe3c7
commit 8627c889d1
4 changed files with 2082 additions and 0 deletions

15
day1/CMakeLists.txt Normal file
View File

@ -0,0 +1,15 @@
cmake_minimum_required(VERSION 3.10)
# set the project name
project(d1p1)
# specify the C++ standard
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/input
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
# add the executable
add_executable(d1p1 part1/main.cpp)
add_executable(d1p2 part2/main.cpp)

2000
day1/input Normal file

File diff suppressed because it is too large Load Diff

28
day1/part1/main.cpp Normal file
View File

@ -0,0 +1,28 @@
#include <iostream>
#include <fstream>
using namespace std;
int main() {
cout << "Advent of Code 2021 - Day 1 Part 1" << endl;
ifstream filein("input");
string line;
getline(filein, line);
int last = stoi(line);
int count = 0;
for (line; getline(filein, line); )
{
if(stoi(line) > last) {
count++;
}
last = stoi(line);
}
cout << count << endl;
return 0;
}

39
day1/part2/main.cpp Normal file
View File

@ -0,0 +1,39 @@
#include <iostream>
#include <fstream>
#include <numeric>
using namespace std;
int main() {
cout << "Advent of Code 2021 - Day 1 Part 2" << endl;
ifstream filein("input");
string line;
int firstSlice[3], secondSlice[3];
for(int i = 0; i < 3; i++) {
getline(filein, line);
firstSlice[i] = stoi(line);
}
int count = 0;
while (getline(filein, line))
{
for(int i = 1; i < 3; i++) {
secondSlice[i-1] = firstSlice[i];
}
secondSlice[2] = stoi(line);
if(accumulate(secondSlice,secondSlice+3, 0) > accumulate(firstSlice,firstSlice+3, 0)) {
count++;
}
copy(begin(secondSlice), end(secondSlice), begin(firstSlice));
}
cout << count << endl;
return 0;
}