#include #include #include #include #include #include #include #include std::vector splitString(const std::string &str) { std::istringstream iss(str); std::vector words; std::string word; while (iss >> word) { words.push_back(word); } return words; } int main() { std::ifstream inputfile("input"); std::string input; int res = 0; if (inputfile.is_open()) { std::string line; std::vector num_s; std::vector num; while (std::getline(inputfile, line)) { num_s = splitString(line); num.clear(); // Convert strings to integers std::transform(num_s.begin(), num_s.end(), std::back_inserter(num), [](const std::string &s) { return std::stoi(s); }); // decreasing bool safe = true; for (size_t i = 1; i < num.size(); ++i) { int diff = num[i - 1] - num[i]; if (diff < 1 || diff > 3) { safe = false; break; } } if (safe) { res++; std::clog << line << std::endl; continue; } // increasing safe = true; for (size_t i = 1; i < num.size(); ++i) { int diff = num[i] - num[i - 1]; if (diff < 1 || diff > 3) { safe = false; break; } } if (safe) { std::clog << line << std::endl; res++; } } inputfile.close(); } else { std::cerr << "Unable to open file!" << std::endl; return ENOENT; } std::cout << res << std::endl; return 0; }