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();
        }
    }
}
Пример #2
0
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())));
}