6
void solve(int it, string path, long long resSoFar, long long prev) {8
if (resSoFar == target) res.push_back(path);14
for (auto j = it; j < n; j++) {15
if (j > it && s[it] == '0') break;17
num = num * 10 + (s[j] - '0');21
solve(j + 1, tmp, num, num);23
solve(j + 1, path + "+" + tmp, resSoFar + num, num);24
solve(j + 1, path + '-' + tmp, resSoFar - num, -num);25
solve(j + 1, path + '*' + tmp, resSoFar - prev + prev * num, prev * num);29
vector<string> addOperators(string num, int target) {30
this->target = target;31
s = num, n = num.size();