Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define int long long
- const int N = 2e3 + 3, MOD = 998244353;
- pair <string, int> a[N];
- char b[N];
- bool cmp(pair <string, int> a, pair <string , int> b) {
- //string l = a.first,
- return a.first.size() < b.first.size();
- }
- main()
- {
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- /* A
- int t;
- cin >> t;
- for (int j = 0; j < t; j++) {
- int n, k, k1;
- cin >> n >> k;
- k1 = k;
- char c = 'a';
- int i = 0;
- string s = "";
- for (i = 0; i < n; i++) {
- s+= c;
- c+= 1;
- if (i == k1 - 1) c = 'a', k1+= k ;
- }
- cout << s << "\n";
- }*/
- /* B
- int n, kol = 0;
- cin >> n;
- for (int i = 0; i < n; i++) {
- cin >> a[i];
- }
- sort(a, a + n);
- for (int i = 0; i < n; i+=2) {
- kol+= abs(a[i] - a[i + 1]);
- }
- cout << kol;*/
- int n;
- cin >> n;
- for (int i = 0; i < 2 * n - 2; i++) {
- cin >> a[i].first;
- a[i].second = i;
- }
- sort(a, a + n * 2 - 2, cmp);
- string kek = a[0].first, kek1 = a[1].first;
- b[a[0].second] = 'P';
- b[a[1].second] = 'S';
- int kol = 1, kol1 = 1;
- bool ok = true;
- for (int i = 2; i < 2 * n - 2; i+= 2) {
- string h = "", h1 = "", mem = a[i].first, mem1 = a[i + 1].first;
- for (int j = 0; j < kek.size(); j++) {
- h+= mem[j];
- }
- int l = kek1.size() - 1;
- for (int j = mem1.size() - 1; l >= 0; j--) {
- h1+= mem1[j];
- l--;
- }
- reverse(h1.begin(), h1.end());
- /*3
- a
- b
- Aa
- bB*/
- // cout << h << endl << h1 << endl << endl;
- if (h != kek || h1 != kek1 || kek == h) {
- if ((h != kek || h1 != kek1) ) {
- //cout << h << ' ' << kek << ' ' << kek1 << ' ' << h1 << endl << endl;
- ok = false;
- }
- b[a[i].second] = 'P';
- b[a[i + 1].second] = 'S';
- kek = a[i].first;
- kek1 = a[i + 1].first;
- }
- else {
- b[a[i + 1].second] = 'P';
- b[a[i].second] = 'S';
- kek = a[i + 1].first;
- kek1 = a[i].first;
- }
- //cout << a[i].second << ' ' << a[i +1].second << endl;
- }
- if (!ok) {
- for (int i = 0; i < 2 * n - 2; i++) {
- if (b[i] == 'S') cout << 'P';
- else cout << 'S';
- }
- return 0;
- }
- for (int i = 0; i < 2 * n - 2; i++) cout << b[i];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement