Advertisement
Guest User

Untitled

a guest
Dec 15th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4.  
  5. using namespace std;
  6. int main()
  7. {
  8. ifstream fin;
  9. ofstream fout;
  10. fin.open("permutations.in");
  11. fout.open("permutations.out");
  12. int n,k,m,temp1,temp;
  13. fin >> n;
  14. int ans[8];
  15. bool flag = true;
  16. vector <int> reverse(8);
  17. k = n - 1;
  18. m = 0;
  19. for (int i = 0; i < n; ++i)
  20. {
  21. ans[i] = i + 1;
  22. fout << ans[i] << " ";
  23. }
  24. fout << "\n";
  25. temp1 = 100;
  26. temp = 100;
  27. while (flag)
  28. {
  29. while (ans[k] < ans[k - 1])
  30. {
  31. k--;
  32. if (k == 0)
  33. {
  34. flag = false;
  35. break;
  36. }
  37. }
  38. if (flag)
  39. {
  40. for (int i = k; i < n; ++i)
  41. {
  42. if (ans[i] - ans[k - 1] < temp1 && ans[i] - ans[k - 1]>0)
  43. {
  44. temp1 = ans[i] - ans[k - 1];
  45. temp = i;
  46. }
  47. }
  48. swap(ans[k - 1], ans[temp]);//not sure
  49. for (int i = k; i < (n - k) / 2 + k; ++i)
  50. {
  51. swap(ans[i], ans[n - i + k-1]);
  52. }
  53. k = n-1;
  54. for (int i = 0; i < n; ++i)
  55. {
  56. fout << ans[i] << " ";
  57. }
  58. fout << endl;
  59. temp = 100;
  60. temp1=100;
  61. }
  62.  
  63.  
  64. }
  65. return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement