Advertisement
wowonline

Untitled

Apr 17th, 2022
710
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.         int64_t temp = 0;
  25.         try {
  26.             bar(a, b - 1, k);
  27.         } catch (Result t){
  28.             temp = t.ret();
  29.         }
  30.         bar(a, temp, k - 1);
  31.     }
  32. }
  33.  
  34. int main()
  35. {
  36.     int64_t a, b;
  37.     uint32_t k;
  38.  
  39.     while (std::cin>>a>>b>>k) {
  40.         try {
  41.             bar(a, b, k);
  42.         } catch(Result t) {
  43.             std::cout<<t.ret()<<std::endl;
  44.         }
  45.     }
  46. }
Advertisement
RAW Paste Data Copied
Advertisement