#include #include #include #include #include "aoc.hpp" #include "aoc/utils.hpp" #include "fmt/format.h" #include "stb_image_write.h" using namespace aoc::types; using namespace std::string_view_literals; namespace uec { enum class opcode : u8 { adv, bxl, bst, jnz, bxc, out, bdv, cdv }; struct regs { u64 a; u64 b; u64 c; }; class cpu { public: cpu() {} auto load(uec::regs const& regs, std::vector const& program) -> void { m_regs = regs; m_program = program; } auto registers() const -> uec::regs { return m_regs; } auto program() const -> std::vector const& { return m_program; } private: uec::regs m_regs{}; std::vector m_program{}; }; } auto aoc24::day17([[maybe_unused]]std::span const& args) -> std::expected { auto res = aoc::read_text("./dat/24/ex/17.txt"); // auto res = aoc::read_text("./dat/24/re/17.txt"); if (!res) return std::unexpected(res.error()); auto const txt = *res; auto return {}; }