Advertisement
wowonline

Untitled

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