Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string>
- using namespace std;
- string S[501];
- void SapXepChu(int ttString, int l, int r)
- {
- int pivot = (int)S[ttString][(l + r) / 2];
- int i = l;
- int j = r;
- while (i <= j)
- {
- while ((int)S[ttString][i] < pivot) i++;
- while ((int)S[ttString][j] > pivot) j--;
- if (i <= j)
- {
- char tmpt = S[ttString][i];
- S[ttString][i] = S[ttString][j];
- S[ttString][j] = tmpt;
- i++; j--;
- }
- }
- if (l < j) SapXepChu(ttString, l, j);
- if (r > i) SapXepChu(ttString, i, r);
- }
- int main()
- {
- //freopen("input.txt", "r", stdin);
- long m, n, k, x;
- cin >> n >> m >> k >> x;
- string str;
- getline(cin, str);
- getline(cin, str);
- for (int i = 0; i < m; i++)
- {
- getline(cin, S[i]);
- SapXepChu(i, 0, k - 1);
- }
- int tt = m - 1;
- for (int i = n - 1; i >= 0; i--)
- {
- if (str[i] == '#')
- {
- if (x % k == 0)
- {
- str[i] = S[tt][k - 1];
- x /= k;
- }
- else
- {
- str[i] = S[tt][(x % k) - 1];
- x = (x / k) + 1;
- }
- tt--;
- }
- }
- cout << str;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement