제출 #1333601

#제출 시각아이디문제언어결과실행 시간메모리
1333601ahmetlbktd4Knjige (COCI20_knjige)C++20
50 / 50
2 ms1156 KiB
#include "bits/stdc++.h"
#define ff first
#define ss second
using namespace std;

int main(){
    int n;
    cin >> n;
    int a[n];
    for (int i = 0;i < n;i++){
        cin >> a[i];
    }
    string s = "UZMI",m = "STAVI";
    stack <int> l,r;
    for (int i = n-1;i >= 0;i--){
        l.push(a[i]);
    }
    vector <pair<string,pair<char,char>>> p;
    sort(a,a+n);
    for (int i = 0;i < n;i++){
        int k = 0;
        while (l.top() ^ a[i]){
            p.push_back({s,{'L','L'}});
            p.push_back({m,{'L','D'}});
            r.push(l.top());
            l.pop();
            k++;
        }
        p.push_back({s,{'D','L'}});
        l.pop();
        for (int j = 0;j < k;j++){
            p.push_back({s,{'L','D'}});
            p.push_back({m,{'L','L'}});
            l.push(r.top());
            r.pop();
        }
        p.push_back({m,{'D','D'}});
        r.push(a[i]);
    }
    while (!r.empty()){
        p.push_back({s,{'L','D'}});
        p.push_back({m,{'L','L'}});
        l.push(r.top());
        r.pop();
    }
    cout << p.size() << "\n";
    for (auto &x : p){
        cout << x.ff << " " << x.ss.ff << " " << x.ss.ss << "\n";
    } 
}
#Verdict Execution timeMemoryGrader output
Fetching results...