Tucancitto

Lab1 - Pb7

Mar 3rd, 2021 (edited)
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int x[10], maxx;
  5.  
  6. int numar(int a[10], int x[10], int c)
  7. {
  8.     int nr = 0;
  9.     for (int i = 0; i < c; i++)
  10.         nr = nr * 10 + a[x[i]];
  11.     return nr;
  12. }
  13.  
  14. void back(int k, int c, int a[], int n)
  15. {
  16.     if (k == c)
  17.     {
  18.         int nr = numar(a, x, c);
  19.         if (nr > maxx) maxx = nr;
  20.     }
  21.     for (int i = n - 1; i >= 0; i--)
  22.         if ((k - 1 >= 0 && i < x[k - 1]) || k == 0)
  23.         {
  24.             x[k] = i;
  25.             if (k < c)
  26.                 back(k + 1, c, a, n);
  27.         }
  28. }
  29.  
  30. int main()
  31. {
  32.     int n, a[10], k;
  33.     cin >> n >> k;
  34.     int i = 0;
  35.     while (n)
  36.     {
  37.         a[++i] = n % 10;
  38.         n = n / 10;
  39.     }
  40.     n = i;
  41.     back(0, n - k, a, n);
  42.     cout << maxx;
  43.     return 0;
  44. }
Add Comment
Please, Sign In to add comment