Advertisement
Guest User

Untitled

a guest
May 26th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. #include "BigIntegerAlgorithms.hh"
  2.  
  3. #include <iostream>
  4. #include <fstream>
  5. #include <stdlib.h>
  6. #include <vector>
  7. #include <string>
  8.  
  9. using namespace std;
  10. //Необходимо реализовать данный метод
  11. //Вся информация о задаче доступна в тексте задачи и в слайдах презентации к семинару(в ЛМС)
  12. void GetNext(vector<int>& arr, int N){
  13. int i=N;
  14. while (i>0 && arr[i]<arr[i-1])
  15. --i;
  16. int j=N;
  17. while(arr[j]<arr[i-1])
  18. --j;
  19. swap(arr[i-1], arr[j]);
  20. for(j=0; j<=((N+1-i)/2)-1; ++j)
  21. swap(arr[i + j], arr[N - j]);
  22. }
  23.  
  24. static string get_day(int N,int k) {
  25. vector<int> arr(N);
  26. vector<int> arrt(N);
  27. int q = 0;
  28. for (int i = 0; i < N; ++i) {
  29. arr[i] = i + 1;
  30. arrt[i] = N - i;
  31. }
  32. if (q != 1) {
  33. do {
  34. GetNext(arr, N - 1);
  35. if(k-1==++q)
  36. break;
  37. } while (arr != arrt);
  38. }
  39. string str;
  40. for(int i=0; i<N; ++i)
  41. str+=to_string(arr[i]) + ' ';
  42. str = str.substr(0, str.length()-1);
  43. return str;
  44. }
  45.  
  46. int main(int argc, const char * argv[]) {
  47.  
  48. int N,K;
  49. fstream fin;
  50. fstream fout;
  51. fin.open("input.txt",ios::in);
  52. fout.open("output.txt",ios::out);
  53. if(fin.is_open()) {
  54. string str;
  55. getline(fin,str);
  56. N = atoi( str.c_str());
  57.  
  58. getline(fin,str);
  59. K = atoi( str.c_str());
  60. fout << get_day(N,K)<< endl;
  61. fout.close();
  62. fin.close();
  63. }
  64. return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement