#ifndef CITY #define CITY #include #include #include // използвам само pair #include class CityVisit { struct Landmark { std::string name; std::deque> visitable; Landmark(const std::string& name) : name(name), visitable() {} }; std::deque landmarks; unsigned availableTime; Landmark* find(const std::string& name); void visitTheMostInTimeRec(Landmark* currentLandmark, std::deque currPath, std::deque unique, int timeLeft, std::deque& bestPath, unsigned& uniqueCount); public: ~CityVisit(); void pushLandmarks(const std::string& from, const std::string& to, unsigned time); void parse(std::ifstream& inFile); std::deque visitTheMostInTime(std::ifstream& inFile); }; #endif