Advertisement
J00ker

Untitled

Oct 9th, 2015
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1.  
  2.  
  3. #include <iostream>
  4. #include <cstring>
  5.  
  6. using namespace std;
  7.  
  8. int st[100], i, p;
  9.  
  10. int Valid(int k)
  11. {
  12.     if(st[1] != 0) return 0;
  13.     for(i = 1; i < k; i++)
  14.         if(st[i] == st[k])
  15.             return 0;
  16.     return 1;
  17. }
  18.  
  19. void backtrack(int k)
  20. {
  21.     if(k == p+1)
  22.     {
  23.         int z = 1, s = 0;
  24.         for(i = 1; i <= p; i++)
  25.         {
  26.             s = z * s + st[i];
  27.             z *= 10;
  28.         }
  29.         cout << s << " ";
  30.         if(!(s % 4))
  31.             cout << s << "\n";
  32.     }
  33.     else
  34.     {
  35.         st[k] = -1;
  36.         while(st[k]++ < 9)
  37.             if(Valid(k))
  38.                 backtrack(k+1);
  39.     }
  40. }
  41.  
  42. int main()
  43. {
  44.     cin >> p;
  45.     backtrack(1);
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement