aocpp/2017/10.cpp
2022-11-24 12:10:08 -08:00

25 lines
663 B
C++

#include <cstdint>
#include <string>
#include <iostream>
#include <vector>
#include <doctest.h>
#include <aocpp/Startup.hpp>
#include <aocpp/Parsing.hpp>
#include <knothash.hpp>
auto main(int argc, char** argv) -> int {
std::string line;
std::getline(*aocpp::Startup(argc, argv), line);
std::vector<std::uint8_t> lengths1;
for (auto && x : aocpp::SplitOn(line, ",")) {
lengths1.push_back(std::stoul(x));
}
auto result = knothash::hash_ex<256>(1, lengths1.begin(), lengths1.end());
std::cout << "Part 1: " << long{result[0]} * long{result[1]} << std::endl;
std::cout << "Part 2: " << knothash::render(knothash::hash(line)) << std::endl;
}