Advertisement
wowonline

Untitled

Apr 17th, 2022
747
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. class Result {
  4. public:
  5.     uint64_t val;
  6.     Result(uint64_t v)
  7.     {
  8.         val = v;
  9.     }
  10.  
  11.     uint64_t ret()
  12.     {
  13.         return val;
  14.     }
  15. };
  16.  
  17. void bar(uint64_t a, uint64_t b)
  18. {
  19.     if (a == 0) {
  20.         throw Result(b + 1);
  21.     } else if (a > 0 && b == 0) {
  22.         try {
  23.             bar(a - 1, b);
  24.         } catch (Result t) {
  25.             throw t;
  26.         }
  27.     } else if (a > 0 && b > 0) {
  28.         try {
  29.             bar(a, b - 1);
  30.         } catch (Result t){
  31.             try {
  32.                 bar(a - 1, t.ret());
  33.             } catch (Result t) {
  34.                 throw t;
  35.             }
  36.         }
  37.     }
  38. }
  39.  
  40. int main()
  41. {
  42.     uint64_t a, b;
  43.  
  44.     while (std::cin >> a >> b) {
  45.         try {
  46.             bar(a, b);
  47.         } catch(Result t) {
  48.             std::cout << t.ret() << std::endl;
  49.         }
  50.     }
  51. }
Advertisement
RAW Paste Data Copied
Advertisement