fork download
  1. #include <iostream>
  2. #include <cmath>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. string s;
  8. int m;
  9.  
  10. bool solve(int n, int sum, string expr) {
  11. if (n >= s.length()) {
  12. if (sum == m) {
  13. cout << m<< " = "<< expr << endl;
  14. return true;
  15. }
  16. return false;
  17. }
  18.  
  19. if (solve(n + 1, sum + int(s[n]) - int('0'), expr + " + " + s[n]))
  20. return true;
  21.  
  22. if (solve(n + 1, sum - int(s[n]) + int('0'), expr + " - " + s[n]))
  23. return true;
  24.  
  25. return false;
  26. }
  27.  
  28. int main() {
  29. cin >> m;
  30. cin >> s;
  31.  
  32. if (!solve(1, int(s[0]) - int('0'), string(1, s[0]))) {
  33. cout << "Khong thayyy :(" << endl;
  34. }
  35.  
  36. return 0;
  37. }
  38.  
Success #stdin #stdout 0.01s 5280KB
stdin
12
1234567
stdout
12 = 1 + 2 - 3 + 4 - 5 + 6 + 7