raghuvanshraj

1415.cpp

Aug 2nd, 2021
932
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  *    author:   vulkan
  3.  *    created:  02.08.2021 06:19:12 PM
  4. **/
  5. #include <bits/stdc++.h>
  6.  
  7. using namespace std;
  8.  
  9. string _getHappyString(int n, int &k, string curr) {
  10.     if (n == 0) {
  11.         k--;
  12.         if (k == 0) {
  13.             return curr;
  14.         } else {
  15.             return "";
  16.         }
  17.     }
  18.  
  19.     int sz = curr.size();
  20.     char last = (sz > 0) ? curr[sz - 1] : ' ';
  21.  
  22.     string ans = "";
  23.     if (last != 'a') {
  24.         ans = _getHappyString(n - 1, k, curr + "a");
  25.     }
  26.     if (ans != "") {
  27.         return ans;
  28.     }
  29.  
  30.     if (last != 'b') {
  31.         ans = _getHappyString(n - 1, k, curr + "b");
  32.     }
  33.     if (ans != "") {
  34.         return ans;
  35.     }
  36.  
  37.     if (last != 'c') {
  38.         ans = _getHappyString(n - 1, k, curr + "c");
  39.     }
  40.     return ans;
  41. }
  42.  
  43.  
  44. string getHappyString(int n, int k) {
  45.     return _getHappyString(n, k, "");
  46. }
  47.  
  48. int main(int argc, char const *argv[]) {
  49.     int n, k;
  50.     cin >> n >> k;
  51.     cout << getHappyString(n, k);
  52.  
  53.     return 0;
  54. }
RAW Paste Data