Add solution for "Day 8: Resonant Collinearity", part 2
The Point2::operator<() was introduced for set<Point2>, which is not actually required.
This commit is contained in:
@@ -34,7 +34,6 @@ class Point2
|
||||
Point2(const int x, const int y);
|
||||
bool operator==(const Point2& rhs) const;
|
||||
bool operator!=(const Point2& rhs) const;
|
||||
bool operator<(const Point2& rhs) const;
|
||||
Point2 operator+(const Point2& rhs) const;
|
||||
Point2 operator-(const Point2& rhs) const;
|
||||
Point2 operator*(const int rhs) const;
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
#pragma once
|
||||
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <vector>
|
||||
|
||||
#include <aoc/Grid.hpp>
|
||||
#include <aoc/LinesSolver.hpp>
|
||||
#include <aoc/Point2.hpp>
|
||||
|
||||
@@ -32,7 +32,8 @@ class ResonantCollinearity
|
||||
private:
|
||||
static constexpr char getEmptyChar();
|
||||
std::map<char, std::vector<Point2>> antennas_{};
|
||||
std::set<Point2> antinodes_{};
|
||||
void addNewAntenna(Point2&& newPosition);
|
||||
void addNewAntinode(Point2&& newPosition);
|
||||
void addNewAntenna(Grid<bool>& antinodeGrid1, Grid<bool>& antinodeGrid2, Point2&& newPosition);
|
||||
void findNewAntinodes(Grid<bool>& antinodeGrid1, Grid<bool>& antinodeGrid2, Point2&& start,
|
||||
const Point2& increment);
|
||||
void addNewAntinode(Grid<bool>& antinodeGrid, Point2& newPosition, long long int& part);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user