#include <vector> #include <cmath> #include <iostream> #include <string> #include <getopt.h> #include <limits> struct Node { enum class Terrain {land, coast, sea} terrain; int x; int y; }; struct Prim { double distance = std::numeric_limits<double>::infinity(); int previous = -1; bool visited = false; }; struct arbitrary { int first; int second; }; struct fast { int x; int y; bool visited = false; }; struct NarrowNode { int x; int y; };