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