diff --git a/Day 2/Pujan/Part 1/main.cpp b/Day 2/Pujan/Part 1/main.cpp index 31dbbae..8a2b453 100644 --- a/Day 2/Pujan/Part 1/main.cpp +++ b/Day 2/Pujan/Part 1/main.cpp @@ -10,6 +10,7 @@ int main() int horizontal = 0; int vertical = 0; + int aim = 0; if(!input.is_open()) { @@ -23,14 +24,17 @@ int main() if (movement == "forward") { horizontal += stoi(line.substr(line.find(" "))); + vertical += aim * stoi(line.substr(line.find(" "))); } else if (movement == "up") { vertical -= stoi(line.substr(line.find(" "))); + aim -= stoi(line.substr(line.find(" "))); } else { vertical += stoi(line.substr(line.find(" "))); + aim += stoi(line.substr(line.find(" "))); } } diff --git a/Day 2/Pujan/Part 2/data.txt b/Day 2/Pujan/Part 2/data.txt new file mode 100644 index 0000000..97cfc58 --- /dev/null +++ b/Day 2/Pujan/Part 2/data.txt @@ -0,0 +1,1000 @@ +forward 7 +down 2 +forward 7 +down 6 +forward 1 +forward 7 +down 3 +up 5 +forward 7 +forward 6 +down 8 +down 1 +up 5 +up 1 +down 2 +forward 8 +forward 3 +down 8 +down 9 +down 1 +forward 4 +down 8 +down 7 +forward 3 +up 5 +up 3 +forward 9 +forward 5 +forward 5 +down 9 +up 2 +down 4 +up 4 +down 9 +forward 7 +down 9 +up 7 +forward 4 +down 2 +down 6 +up 3 +down 2 +down 4 +up 5 +forward 7 +up 8 +down 4 +forward 8 +down 5 +forward 1 +forward 3 +up 9 +forward 5 +down 4 +forward 6 +forward 2 +up 3 +down 5 +down 6 +forward 8 +up 6 +up 9 +down 8 +down 2 +down 6 +forward 2 +forward 8 +forward 1 +forward 5 +forward 3 +down 8 +down 5 +forward 3 +up 7 +down 9 +up 9 +forward 7 +forward 6 +forward 4 +down 5 +forward 1 +down 9 +forward 9 +forward 6 +down 8 +down 5 +forward 5 +forward 4 +forward 3 +up 6 +up 7 +forward 2 +up 2 +up 9 +forward 8 +up 3 +forward 8 +down 8 +forward 1 +forward 7 +forward 4 +down 5 +forward 8 +down 2 +down 2 +down 3 +forward 3 +forward 3 +up 3 +forward 4 +up 9 +up 8 +forward 1 +down 8 +up 6 +down 5 +up 3 +up 2 +forward 1 +up 8 +down 7 +up 5 +down 2 +forward 5 +down 3 +down 1 +forward 2 +forward 6 +forward 7 +forward 1 +forward 5 +forward 4 +down 9 +forward 6 +down 9 +up 8 +forward 9 +forward 5 +up 2 +up 7 +up 2 +down 1 +down 7 +down 1 +forward 2 +down 8 +down 3 +forward 1 +down 5 +forward 7 +forward 5 +forward 6 +up 6 +forward 6 +forward 1 +down 2 +forward 5 +down 7 +up 1 +down 5 +down 4 +down 8 +up 2 +down 2 +up 6 +forward 2 +down 2 +up 9 +down 7 +down 3 +down 6 +forward 5 +up 5 +forward 2 +forward 7 +down 9 +up 3 +forward 4 +forward 4 +down 6 +down 2 +down 4 +forward 6 +down 2 +down 8 +up 2 +forward 9 +down 8 +forward 4 +down 2 +up 4 +down 6 +forward 3 +forward 2 +forward 7 +down 7 +forward 3 +forward 7 +down 9 +up 6 +down 4 +forward 4 +down 6 +down 8 +down 4 +forward 3 +up 5 +up 4 +up 9 +forward 9 +down 1 +forward 3 +forward 9 +up 3 +down 5 +forward 2 +down 9 +down 9 +forward 1 +forward 4 +forward 8 +forward 9 +down 4 +forward 3 +down 3 +forward 9 +down 1 +down 3 +down 9 +down 3 +down 2 +down 1 +up 2 +down 3 +up 7 +forward 7 +down 9 +up 6 +down 1 +down 7 +down 7 +up 7 +forward 8 +down 1 +down 7 +down 8 +up 4 +down 6 +down 7 +forward 5 +down 9 +forward 2 +down 6 +down 8 +down 5 +down 4 +forward 8 +down 4 +forward 8 +down 3 +down 6 +forward 6 +forward 1 +up 5 +down 2 +down 2 +forward 7 +forward 1 +up 3 +down 6 +down 3 +down 9 +up 6 +forward 4 +down 1 +forward 4 +up 3 +forward 6 +down 7 +down 2 +up 3 +down 1 +up 7 +down 7 +forward 5 +up 9 +up 1 +up 2 +forward 4 +forward 9 +up 3 +down 8 +up 2 +down 9 +forward 8 +up 2 +down 5 +up 5 +down 2 +up 8 +down 6 +down 8 +up 7 +forward 9 +forward 6 +forward 5 +forward 8 +forward 7 +down 2 +forward 1 +forward 6 +down 3 +down 7 +up 1 +forward 7 +up 7 +down 2 +down 9 +up 4 +forward 2 +down 3 +up 8 +up 3 +down 9 +down 2 +forward 4 +forward 9 +forward 8 +forward 2 +up 2 +forward 3 +forward 8 +down 2 +down 4 +up 8 +up 2 +forward 4 +forward 7 +up 8 +forward 8 +forward 1 +forward 9 +down 9 +up 3 +forward 9 +down 5 +down 9 +down 2 +forward 1 +forward 6 +forward 3 +up 7 +down 8 +down 2 +up 6 +down 5 +forward 4 +up 7 +down 5 +down 3 +forward 5 +forward 5 +up 4 +down 7 +down 5 +up 1 +down 4 +down 6 +forward 6 +forward 3 +down 9 +forward 6 +forward 4 +down 8 +up 5 +down 7 +forward 6 +forward 7 +down 9 +forward 3 +forward 3 +forward 4 +down 6 +forward 2 +forward 9 +up 2 +forward 7 +up 5 +forward 6 +down 8 +down 7 +forward 1 +down 6 +forward 3 +down 9 +forward 7 +forward 2 +forward 1 +down 9 +down 2 +up 8 +down 1 +down 3 +up 6 +down 5 +up 2 +down 2 +down 8 +forward 7 +down 8 +forward 6 +up 5 +down 8 +down 4 +down 1 +forward 1 +forward 9 +down 3 +forward 9 +up 2 +down 2 +forward 9 +up 2 +up 2 +down 8 +down 1 +up 4 +down 9 +down 6 +up 7 +down 6 +forward 7 +forward 3 +forward 9 +forward 2 +down 9 +down 8 +down 5 +forward 4 +forward 1 +forward 3 +forward 3 +forward 1 +forward 6 +forward 7 +down 7 +down 1 +up 4 +up 2 +forward 9 +up 7 +down 1 +forward 5 +down 8 +forward 3 +down 9 +up 4 +up 1 +forward 7 +down 1 +forward 4 +up 6 +down 9 +forward 2 +forward 7 +down 1 +forward 2 +forward 1 +down 2 +forward 6 +down 4 +up 7 +down 6 +forward 1 +down 9 +up 8 +up 6 +forward 4 +down 5 +up 8 +down 5 +up 9 +forward 1 +forward 6 +down 4 +up 5 +forward 4 +forward 2 +down 6 +forward 9 +down 7 +down 2 +forward 1 +up 2 +forward 4 +forward 4 +forward 7 +down 5 +up 1 +down 7 +down 1 +forward 3 +forward 6 +forward 7 +down 5 +down 4 +down 2 +down 3 +up 3 +forward 7 +down 3 +up 2 +forward 7 +down 9 +up 4 +forward 9 +forward 4 +forward 2 +down 9 +forward 1 +down 5 +forward 3 +forward 5 +up 7 +down 9 +up 7 +down 5 +down 2 +up 5 +up 1 +forward 8 +forward 3 +up 5 +forward 2 +down 2 +forward 5 +forward 3 +forward 4 +up 4 +forward 3 +up 4 +forward 1 +down 2 +forward 5 +down 9 +forward 8 +forward 2 +forward 5 +forward 1 +up 3 +up 8 +forward 2 +forward 9 +down 7 +up 5 +up 2 +forward 1 +forward 4 +up 4 +forward 5 +down 5 +forward 5 +down 2 +down 8 +forward 4 +down 3 +forward 7 +down 7 +forward 6 +down 9 +down 2 +up 4 +up 5 +down 2 +down 7 +forward 3 +down 1 +down 5 +down 6 +forward 8 +forward 7 +down 3 +forward 4 +forward 8 +forward 2 +down 8 +down 3 +forward 8 +down 2 +up 2 +forward 3 +up 2 +down 7 +down 4 +forward 8 +forward 7 +down 9 +forward 7 +down 8 +up 3 +forward 1 +up 5 +forward 6 +down 7 +forward 8 +forward 3 +forward 1 +forward 5 +down 8 +up 8 +forward 9 +down 7 +up 8 +up 8 +forward 9 +up 6 +forward 2 +down 8 +forward 6 +down 6 +down 6 +forward 8 +up 9 +forward 9 +down 8 +down 8 +forward 3 +forward 3 +down 8 +up 7 +down 1 +forward 5 +up 6 +forward 6 +up 8 +down 7 +down 3 +down 4 +forward 7 +down 2 +forward 4 +forward 6 +down 2 +down 6 +up 2 +down 9 +down 8 +forward 6 +up 8 +up 4 +forward 1 +forward 2 +down 8 +forward 6 +down 2 +down 7 +down 1 +down 2 +forward 9 +forward 5 +down 2 +down 8 +down 9 +up 6 +forward 6 +up 2 +down 9 +down 4 +down 9 +up 7 +forward 2 +up 9 +down 7 +forward 2 +down 7 +up 6 +down 3 +up 1 +down 8 +down 4 +forward 1 +up 5 +up 4 +down 2 +down 8 +forward 8 +forward 7 +up 1 +down 8 +forward 2 +forward 7 +down 4 +forward 4 +down 3 +down 7 +forward 8 +down 7 +down 3 +down 3 +forward 8 +forward 8 +up 1 +forward 8 +forward 6 +down 9 +up 1 +down 7 +down 7 +forward 7 +forward 7 +up 5 +down 7 +down 6 +down 6 +forward 8 +down 3 +forward 8 +down 8 +forward 7 +forward 2 +up 6 +down 6 +down 8 +forward 1 +forward 8 +down 9 +down 7 +up 5 +down 1 +forward 6 +down 9 +forward 5 +up 2 +up 9 +down 6 +down 8 +down 6 +up 1 +forward 7 +down 9 +up 2 +forward 3 +down 7 +up 5 +forward 3 +forward 8 +up 2 +forward 1 +down 6 +down 7 +up 4 +down 5 +up 8 +forward 9 +forward 5 +up 7 +down 3 +forward 2 +up 7 +up 2 +down 3 +up 9 +down 9 +down 8 +up 8 +down 6 +forward 9 +up 7 +forward 4 +forward 7 +up 7 +down 6 +forward 5 +up 2 +up 4 +down 1 +down 2 +down 9 +forward 5 +forward 3 +forward 9 +up 7 +forward 7 +down 5 +down 2 +up 9 +forward 4 +forward 4 +up 5 +up 3 +forward 5 +forward 9 +forward 4 +forward 8 +down 2 +up 4 +down 1 +forward 9 +forward 9 +up 7 +down 3 +forward 2 +forward 4 +down 6 +up 1 +forward 6 +down 4 +up 9 +down 4 +forward 3 +down 9 +up 9 +down 8 +up 6 +forward 9 +forward 1 +forward 2 +up 2 +forward 8 +forward 9 +forward 3 +forward 5 +down 5 +down 7 +forward 7 +forward 5 +down 3 +up 2 +forward 4 +down 3 +up 6 +down 6 +up 6 +forward 1 +forward 2 +down 5 +down 8 +down 3 +forward 5 +up 4 +forward 6 +forward 9 +forward 6 +forward 1 +forward 4 +up 1 +forward 3 +forward 3 +up 3 +forward 9 +forward 1 +forward 7 +forward 8 +forward 1 +forward 9 +forward 7 +up 9 +forward 9 +up 4 +down 4 +up 9 +down 5 +down 8 +down 3 +forward 6 +down 7 +forward 5 +forward 6 +forward 8 +forward 7 +down 7 +down 5 +forward 4 +down 6 +down 4 +down 6 +down 1 +forward 3 +down 3 +down 7 +forward 6 +forward 3 +up 2 +forward 1 +forward 8 +down 9 +down 3 +down 3 +up 6 +down 7 +down 3 +forward 2 +down 7 +down 2 +forward 1 +down 7 +down 3 +forward 9 +down 4 +down 3 +forward 9 +up 2 +up 4 +forward 4 +down 4 +up 2 +down 2 +forward 8 +down 1 +up 9 +down 5 +down 7 +forward 3 +forward 9 +forward 7 +forward 1 +forward 7 +forward 1 +forward 7 +up 7 +down 6 +forward 6 +forward 4 +forward 6 +up 3 +down 5 +down 5 +down 3 +down 6 +down 3 +down 3 +up 2 +down 4 +up 8 +down 4 +up 2 +down 7 +forward 9 +up 9 +down 1 +forward 8 +forward 7 +forward 6 +forward 8 +up 6 +up 6 +down 5 +forward 6 +down 3 +forward 6 +forward 9 +down 2 +down 6 +down 4 +down 5 +forward 7 +forward 4 +up 3 +down 6 +down 6 +forward 1 +forward 4 +down 6 +up 3 +forward 1 +down 3 +down 7 +down 4 +down 8 +down 8 +up 8 +down 2 +up 8 +down 3 +down 3 +forward 3 +down 3 +down 7 +up 6 +forward 8 +down 4 +forward 1 +down 7 +down 3 +forward 5 +forward 8 +up 1 +forward 2 +down 7 +down 7 +forward 1 +up 7 +down 3 +up 3 +forward 5 +forward 9 +down 3 +down 7 +down 5 +forward 7 \ No newline at end of file diff --git a/Day 2/Pujan/Part 2/main b/Day 2/Pujan/Part 2/main new file mode 100755 index 0000000..5eda5c1 Binary files /dev/null and b/Day 2/Pujan/Part 2/main differ diff --git a/Day 2/Pujan/Part 2/main.cpp b/Day 2/Pujan/Part 2/main.cpp new file mode 100644 index 0000000..867ba51 --- /dev/null +++ b/Day 2/Pujan/Part 2/main.cpp @@ -0,0 +1,41 @@ +#include +#include +#include + +int main() +{ + std::string filename("data.txt"); + std::ifstream input{filename}; + std::string line; + + int horizontal = 0; + int vertical = 0; + int aim = 0; + + if(!input.is_open()) + { + std::cerr << "Couldn't read file: " << filename << "\n"; + return 1; + } + + while(std::getline(input,line)) + { + std::string movement = line.substr(0, line.find(" ")); + if (movement == "forward") + { + horizontal += stoi(line.substr(line.find(" "))); + vertical += aim * stoi(line.substr(line.find(" "))); + } + else if (movement == "up") + { + aim -= stoi(line.substr(line.find(" "))); + } + else + { + aim += stoi(line.substr(line.find(" "))); + } + } + + std::cout << horizontal * vertical << std::endl; + +}