fork download
  1. #include <string>
  2. #include <vector>
  3. #include <unordered_set>
  4.  
  5. using namespace std;
  6.  
  7. int N;
  8. unordered_set<int> cache[10];
  9. unordered_set<int> solve(int n) {
  10. if (!cache[n].empty()) return cache[n];
  11. int num = 0;
  12. for (int i = 0; i < n; i++) num = 10 * num + N;
  13. unordered_set<int> res;
  14. res.insert(num);
  15. for (int i = 1; i < n; i++) {
  16. int j = n - i;
  17. auto s1 = solve(i);
  18. auto s2 = solve(j);
  19. for (int n1 : s1) {
  20. for (int n2 : s2) {
  21. res.insert(n1 + n2);
  22. res.insert(n1 - n2);
  23. res.insert(n1 * n2);
  24. if (n2 != 0) res.insert(n1 / n2);
  25. }
  26. }
  27. }
  28. return cache[n] = res;
  29. }
  30.  
  31. int solution(int _N, int number) {
  32. N = _N;
  33. for (int i = 1; i <= 8; i++) {
  34. solve(i);
  35. if (cache[i].find(number) != cache[i].end()) return i;
  36. }
  37. return -1;
  38. }
  39.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
stdout
Standard output is empty