Advertisement
renurtt

Untitled

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