Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
111295 CBCode 复原 IP 地址 C++ 编译错误 0 0 MS 0 KB 980 2023-11-19 17:00:58

Tests(0/0):


#include <vector> #include <string> using namespace std; bool isValid(string s) { if (s.size() > 1 && s[0] == '0') return false; if (stoi(s) <= 255) return true; return false; } void backtrack(string s, vector<string>& res, int n, string ans) { if (n == 4) { if (s.empty()) res.push_back(ans); } else { for (int k = 1; k <= 3; ++k) { if (s.size() < k) break; int val = stoi(s.substr(0, k)); if (val > 255 || k != to_string(val).size()) continue; backtrack(s.substr(k), res, n + 1, ans + s.substr(0, k) + (n == 3 ? "" : ".")); } } } vector<string> restoreIpAddresses(string s) { vector<string> res; string ans; backtrack(s, res, 0, ans); return res; } int main() { string s; cin >> s; vector<string> result = restoreIpAddresses(s); for (string& ip : result) { cout << ip << endl; } return 0; }


测评信息: