Advertisement
a53

sumcifs

a53
Oct 1st, 2020 (edited)
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int n,sum,k1,v[15];
  4. long long sol[1000005];
  5. bool used[10];
  6.  
  7. void afisare(int k)
  8. {
  9. ++k1;
  10. long long nr=v[1];
  11. for(int j=2;j<=k;++j)
  12. nr=nr*10+v[j];
  13. sol[k1]=nr;
  14. }
  15.  
  16. void bkt(int k)
  17. {
  18. for(int i=0;i<=9;++i)
  19. if(!used[i])
  20. {
  21. if(i==0&&k==1)
  22. continue;
  23. used[i]=1;
  24. v[k]=i;
  25. sum+=i;
  26. if(sum==n)
  27. {
  28. afisare(k);
  29. if(used[0]==0)
  30. v[k+1]=0,afisare(k+1);
  31. }
  32. else
  33. bkt(k+1);
  34. sum-=i;
  35. used[i]=0;
  36. }
  37. }
  38.  
  39. int main()
  40. {
  41. cin>>n;
  42. if(n>45)
  43. cout<<-1;
  44. else
  45. {
  46. bkt(1);
  47. sort(sol+1,sol+k1+1);
  48. for(int i=1;i<=k1;++i)
  49. cout<<sol[i]<<'\n';
  50. }
  51. return 0;
  52. }
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement