void helper(string& s, vector<string>& ret, vector<string>& config, int begin) { if (config.size() == 4){ if(begin == s.size()) { string Address = vectorToAddress(config); ret.push_back(Address); } return; } for (int i = begin; i < s.length() && i < begin + 3; i++) { string num = s.substr(begin, i-begin+1); if (isValidNum(num)) { config.push_back(num); helper(s, ret, config, i+1); config.pop_back(); } } }
bool isValidListing(const std::string & s) { auto it = s.begin(); while (isalpha(*it) && isupper(*it)) { ++it; } if (!isValidDept(std::string(s.begin(), it))) { return false; } return isValidNum(std::stoi(std::string(it, s.end()))); }