Submission #1190692

#TimeUsernameProblemLanguageResultExecution timeMemory
1190692akbarrType Printer (IOI08_printer)C++20
0 / 100
16 ms2532 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define run ios_base::sync_with_stdio(0);cin.tie(0);
#define F first
#define S second
#define endl '\n'
const int inf = 1e18+7;
const int sz = 1e5+5;
void solve() {
    int n;
    cin >> n;
    vector<string>v;
    for(int i = 0;i < n;i++){
        string s;
        cin >> s;
        v.push_back(s);
    }
    sort(v.begin(),v.end());
    int cost = 0;
    vector<char>op;
    int suf = 0;
    int psuf = suf;
    for(int i = 0; i < n-1;i++){
        psuf = suf;
        suf = 0;
        op.push_back(v[i][suf]);
        for(int j = suf+1;j < v[i].size();j++){
            op.push_back(v[i][j]);
        }
        op.push_back('P');
        for(int j = 0; j < v[i].size();j++){
            if(v[i][j] == v[i+1][j])    suf++;
            else                        break;
        }
        for(int j = suf+1;j < v[i].size();j++)  op.push_back('-');
    }
    for(int i= suf+1;i < v[n-1].size();i++)    op.push_back(v[n-1][i]);
    op.push_back('P');
    cout << op.size() << endl;
    for(auto i : op)    cout << i << endl;
}
 
signed main() {
    run;
    int t = 1;
    //cin >> t;
    while (t--) {
        solve();
    }
}
// 11111100000
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...