Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <stdlib.h>
- #include <vector>
- #include <string>
- #include <sstream>
- #include "algorithm"
- using namespace std;
- static void sum(long long N, vector<long long> &t, long long k)
- {
- t[N - 1] = (k - 1) % N + 1;
- k /= N;
- long long i = N - 1;
- while (k != 0)
- {
- t[i - 1] = (k % i + 1);
- k = k / i;
- i--;
- }
- }
- //Необходимо реализовать данный метод
- //Вся информация о задаче доступна в тексте задачи и в слайдах презентации к семинару(в ЛМС)
- static string solve(long long N, long long k)
- {
- vector<long long> t(N, 1);
- string result;
- sum(N, t, k);
- for (long long i = 0; i < t.size(); ++i)
- {
- result += to_string(t[i]);
- result += ((i == t.size() - 1) ? "" : " ");
- }
- return result;
- }
- int main(int argc, const char *argv[])
- {
- long long N, k;
- fstream fin;
- fstream fout;
- fin.open("input.txt", ios::in);
- fout.open("output.txt", ios::out);
- if (fin.is_open())
- {
- string str;
- getline(fin, str);
- N = atoi(str.c_str());
- getline(fin, str);
- k = atoi(str.c_str());
- fout << solve(N, k) << endl;
- fout.close();
- fin.close();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement