#pragma once #include <vector> struct Point { size_t x = 0; size_t y = 0; bool operator==(const Point &other) const { return other.x == x && other.y == y; } }; typedef std::vector<Point> PointList; template <> struct std::hash<Point> { size_t operator()(const Point &p) const { auto hasher = std::hash<int>(); return hasher(p.x) ^ hasher(p.y); } };