From 6f96b2014b053a2e6e5a37464ca6fc578607fda7 Mon Sep 17 00:00:00 2001 From: jacopograndi Date: Thu, 6 Jan 2022 18:44:53 +0100 Subject: rm --- day08/day08.cpp | 72 --------------------------------------------------------- 1 file changed, 72 deletions(-) delete mode 100644 day08/day08.cpp (limited to 'day08/day08.cpp') diff --git a/day08/day08.cpp b/day08/day08.cpp deleted file mode 100644 index 30b818b..0000000 --- a/day08/day08.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include -#include -#include -#include - -#include "../utils.h" - -int distance (std::string a, std::string b) { - int d = 0; - for (auto k : b) { - if (a.find(k) == std::string::npos) d++; - } return d; -} - -int map (std::vector tries, std::string dig) { - if (dig.size() == 2) return 1; - if (dig.size() == 3) return 7; - if (dig.size() == 4) return 4; - if (dig.size() == 7) return 8; - if (dig.size() == 4) return 8; - - std::string one = *std::find_if(std::begin(tries), std::end(tries), - [](std::string &str){ return str.size() == 2; }); - std::string four = *std::find_if(std::begin(tries), std::end(tries), - [](std::string &str){ return str.size() == 4; }); - if (dig.size() == 5) { - if (distance(dig, one) == 0) return 3; - if (distance(dig, four) == 1) return 5; - return 2; - } - if (dig.size() == 6) { - if (distance(dig, one) == 1) return 6; - if (distance(dig, four) == 0) return 9; - } - return 0; -} - -int main (int argc, char *argv[]) { - std::string raw; - std::getline(std::ifstream(argv[1]), raw, '\0'); - std::vector lines, parts; - split(lines, raw, "\n"); - - std::vector count; - for (int i=0; i<8; i++) count.push_back(0); - - int sum = 0; - for (auto line : lines) { - if (line.size() == 0) continue; - parts.clear(); - split(parts, line, " | "); - - std::vector tries, digits; - split(tries, parts[0], " "); - split(digits, parts[1], " "); - - int i = 1000; - int num = 0; - for (auto dig : digits) { - count[dig.size()]++; - num += i*map(tries, dig); - i/=10; - } - sum += num; - } - - std::cout << "digits: " << count[2] + count[3] + count[4] + count[7] - << std::endl; - std::cout << "sum: " << sum << std::endl; - - return 0; -} -- cgit v1.2.3-54-g00ecf