#include "aoc.h" #include namespace aoc2022 { int sensor::minx; int sensor::maxx; int no_beacon(int y, std::vector& ss) { int count{0}; for (int x = sensor::minx; x <= sensor::maxx; x++) { sensor::pos p; p.x = x; p.y = y; size_t n{0}; for (auto&s : ss) { if(s.inscope(p)) { n++; } } // printf("(%d, %d) has %zu\n", x, y, n); count += (bool) n > 0; } return count; } bool valid(sensor::pos p, int dx) { return p.x >= 0 && p.x <= dx && p.y >= 0 && p.y <= dx; } int only_beacon(int dx, std::vector& ss) { return 0; } std::pair day15(line_view file) { std::vector ss; per_line(file, [&ss](line_view lv){ ss.emplace_back(lv); return true; }); int n1 = no_beacon(2000000, ss); int n2 = only_beacon(4000000, ss); return {n1, n2}; } }