Day 1
This commit is contained in:
parent
904c8fe3c7
commit
8627c889d1
15
day1/CMakeLists.txt
Normal file
15
day1/CMakeLists.txt
Normal 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
2000
day1/input
Normal file
File diff suppressed because it is too large
Load Diff
28
day1/part1/main.cpp
Normal file
28
day1/part1/main.cpp
Normal 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
39
day1/part2/main.cpp
Normal 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;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user