Advertisement
Guest User

Untitled

a guest
Sep 17th, 2014
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.50 KB | None | 0 0
  1. #include <cstdio>
  2. #include <cstring>
  3. #include <iostream>
  4. #include <vector>
  5. #include <algorithm>
  6. #include <set>
  7. //#include <windows.h>
  8. //#include <conio.h>
  9. #include <cstdlib>
  10. #include <time.h>
  11. #include <limits.h>
  12. #include <string>
  13. #include <math.h>
  14. using namespace std;
  15. #if defined(_MSC_VER) || __cplusplus > 199711L
  16. #define aut(r,v) auto r = (v)
  17. #else
  18. #define aut(r,v) typeof(v) r = (v)
  19. #endif
  20. #define forA(V) for (aut(it,(V).begin());it!=(V).end();it++)
  21. #define pb push_back
  22. #define mp make_pair
  23. #define fi first
  24. #define se second
  25. #define ll long long
  26. #define ull unsigned ll
  27. #define MOD 1000000007
  28. #define INF (1<<31)-1
  29. #define MINF -(1<<31)
  30. #define vi vector <int>
  31. #define vll vector <ll>
  32. #define pii pair <int,int>
  33. #define pll pair <ll,ll>
  34. #define newl printf("\n")
  35. int sol[7],fact[10]={1,1,2,6,24,120,720,5040,40320,362880},N;
  36. vi nr;
  37. bool used[1000005];
  38. void bkt(int k)
  39. {
  40.     if (k==7)
  41.     {
  42.         int x=0,s=0;
  43.         for (int i=1;i<k;i++)
  44.         {
  45.             x=x*10+sol[i];
  46.             if (sol[1]!=0) s+=fact[sol[i]];
  47.             if (s==x && !used[x] && x!=0)
  48.                 nr.pb(x),used[x]=true;
  49.         }
  50.         return;
  51.     }
  52.     for (int i=0;i<=9;i++)
  53.     {
  54.         sol[k]=i;
  55.         bkt(k+1);
  56.     }
  57. }
  58. int main()
  59. {
  60.     scanf("%d",&N);
  61.     bkt(1);
  62.     sort(nr.begin(),nr.end());
  63.     bool ok=false;
  64.     forA(nr) if (*it==N) printf("Number is valid.\n"),ok=true;
  65.     if (!ok) printf("Number is invalid.\n");
  66.     forA(nr) printf("%d ",*it);
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement