parent
702e50d055
commit
fc3cdae817
11 changed files with 409 additions and 2 deletions
@ -0,0 +1,252 @@ |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 1 |
||||
add x 11 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 16 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 1 |
||||
add x 12 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 11 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 1 |
||||
add x 13 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 12 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 26 |
||||
add x -5 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 12 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 26 |
||||
add x -3 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 12 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 1 |
||||
add x 14 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 2 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 1 |
||||
add x 15 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 11 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 26 |
||||
add x -16 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 4 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 1 |
||||
add x 14 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 12 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 1 |
||||
add x 15 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 9 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 26 |
||||
add x -7 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 10 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 26 |
||||
add x -11 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 11 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 26 |
||||
add x -6 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 6 |
||||
mul y x |
||||
add z y |
||||
inp w |
||||
mul x 0 |
||||
add x z |
||||
mod x 26 |
||||
div z 26 |
||||
add x -11 |
||||
eql x w |
||||
eql x 0 |
||||
mul y 0 |
||||
add y 25 |
||||
mul y x |
||||
add y 1 |
||||
mul z y |
||||
mul y 0 |
||||
add y w |
||||
add y 15 |
||||
mul y x |
||||
add z y |
@ -0,0 +1,6 @@ |
||||
|
||||
#include "Day01.h" |
||||
|
||||
int Day01::run() { |
||||
return 0; |
||||
} |
@ -0,0 +1,14 @@ |
||||
|
||||
#ifndef ADVENTOFCODE2022_DAY01_H |
||||
#define ADVENTOFCODE2022_DAY01_H |
||||
|
||||
#include "../Day.h" |
||||
|
||||
class Day01 : public Day { |
||||
public: |
||||
explicit Day01(std::vector<std::string> &input) : Day(input) {} |
||||
int run() override; |
||||
}; |
||||
|
||||
|
||||
#endif |
@ -0,0 +1,6 @@ |
||||
|
||||
#include "Day02.h" |
||||
|
||||
int Day02::run() { |
||||
return 1; |
||||
} |
@ -0,0 +1,14 @@ |
||||
|
||||
#ifndef ADVENTOFCODE2022_DAY02_H |
||||
#define ADVENTOFCODE2022_DAY02_H |
||||
|
||||
#include "../Day.h" |
||||
|
||||
class Day02 : public Day { |
||||
public: |
||||
explicit Day02(std::vector<std::string> &input) : Day(input) {} |
||||
int run() override; |
||||
}; |
||||
|
||||
|
||||
#endif |
@ -0,0 +1,6 @@ |
||||
|
||||
#include "Day03.h" |
||||
|
||||
int Day03::run() { |
||||
return 1; |
||||
} |
@ -0,0 +1,14 @@ |
||||
|
||||
#ifndef ADVENTOFCODE2022_DAY03_H |
||||
#define ADVENTOFCODE2022_DAY03_H |
||||
|
||||
#include "../Day.h" |
||||
|
||||
class Day03 : public Day { |
||||
public: |
||||
explicit Day03(std::vector<std::string> &input) : Day(input) {} |
||||
int run() override; |
||||
}; |
||||
|
||||
|
||||
#endif |
@ -0,0 +1,19 @@ |
||||
#ifndef ADVENTOFCODE2022_DAY_H |
||||
#define ADVENTOFCODE2022_DAY_H |
||||
|
||||
#include <vector> |
||||
#include <string> |
||||
|
||||
class Day { |
||||
|
||||
protected: |
||||
std::vector<std::string> input; |
||||
|
||||
public: |
||||
explicit Day(std::vector<std::string> &input) : input(input) {} |
||||
virtual int run() { |
||||
return 0; |
||||
} |
||||
}; |
||||
|
||||
#endif |
@ -0,0 +1,27 @@ |
||||
|
||||
#ifndef ADVENTOFCODE2022_DAYS_H |
||||
#define ADVENTOFCODE2022_DAYS_H |
||||
|
||||
#include "01/Day01.h" |
||||
#include "02/Day02.h" |
||||
#include "03/Day03.h" |
||||
|
||||
Day* getDay(int dayNum, std::vector<std::string> &input){ |
||||
Day* day; |
||||
switch (dayNum){ |
||||
case 1: |
||||
day = new Day01(input); |
||||
break; |
||||
case 2: |
||||
day = new Day02(input); |
||||
break; |
||||
case 3: |
||||
day = new Day03(input); |
||||
break; |
||||
default: |
||||
day = nullptr; |
||||
} |
||||
return day; |
||||
} |
||||
|
||||
#endif |
@ -1,6 +1,49 @@ |
||||
#include <iostream> |
||||
#include <string> |
||||
#include <fstream> |
||||
#include <vector> |
||||
#include <filesystem> |
||||
#include "days.h" |
||||
|
||||
std::vector<std::string> getInput(int day){ |
||||
|
||||
char dayStrPadded[3]; |
||||
sprintf(dayStrPadded, "%02u", day); |
||||
std::string localFilePath = "input/" + std::string(dayStrPadded) + "_input.txt"; |
||||
|
||||
if (!std::filesystem::exists({localFilePath})){ |
||||
std::string dayStr = std::to_string(day); |
||||
std::string url = "https://adventofcode.com/2021/day/" + dayStr + "/input"; |
||||
std::string key = "sdfsd"; |
||||
std::string cookie = "session=" + key; |
||||
std::cout << "Input does not exist. Fetching from " + url << std::endl; |
||||
//cpr::Response res = cpr::Get(cpr::Url {url}, cpr::Header{{"Cookie", cookie}});
|
||||
//std::cout << res.text << std::endl;
|
||||
} |
||||
|
||||
std::fstream file; |
||||
file.open(localFilePath, std::ios::in); |
||||
|
||||
std::vector<std::string> result; |
||||
std::string line; |
||||
while (std::getline(file, line)) |
||||
result.push_back(line); |
||||
|
||||
return result; |
||||
} |
||||
|
||||
int main(int argc, char *argv[]) { |
||||
|
||||
for (int i = 1; i < argc; i++){ |
||||
int dayNum = std::stoi(argv[i]); |
||||
std::vector<std::string> input = getInput(dayNum); |
||||
auto day = getDay(dayNum, input); |
||||
int code = day->run(); |
||||
if (code != 0) |
||||
return code; |
||||
} |
||||
|
||||
int main() { |
||||
std::cout << "Hello, World!" << std::endl; |
||||
return 0; |
||||
} |
||||
|
||||
|
||||
|
Loading…
Reference in new issue