Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. ifstream fin("siruri.in");
  6. ofstream fout("siruri.out");
  7. int v[1000],n,m;
  8. int valid(int k)
  9. {if(v[k]-v[k-1]>2&&k>1) return 0;
  10. for(int i=1; i<=k-1; i++)if(v[i]==v[k]||v[i]>v[k])return 0;
  11. return 1;
  12. }
  13. int solutii (int k)
  14. {
  15. if(k==m)return 1;
  16. return 0;
  17. }
  18. void afis(int k)
  19. {
  20. for(int i=1; i<=k; i++)fout<<v[i]<<" ";
  21. fout<<endl;
  22. }
  23. void backt(int k)
  24. {
  25. for(int i=1; i<=n; i++)
  26. {
  27. v[k]=i;
  28. if(valid(k)==1)if(solutii(k)==1)afis(k);
  29. else backt(k+1);
  30. }
  31. }
  32. int main()
  33. {
  34.  
  35. fin>>n>>m;
  36. backt(1);
  37.  
  38. return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement