Submission #1004595

# Submission time Handle Problem Language Result Execution time Memory
1004595 2024-06-21T10:18:26 Z vjudge1 Type Printer (IOI08_printer) C++17
10 / 100
74 ms 66248 KB
#include <bits/stdc++.h>
using namespace std;
struct yas{
    string s;
};
bool operator<(yas &a,yas &b){
    if(a.s.size() == b.s.size())return a.s < b.s;
    return a.s.size() < b.s.size();
};
int n;
const int sz=5e5 + 1;
int trie[sz][26];
int bitis[sz];
vector<int> gt[sz];
vector<char> cvb;
int last=0;
void qur(string s){
    int curr=0;
    for(auto &i : s){
        if(trie[curr][i-'a'])curr = trie[curr][i - 'a'];
        else{
            gt[curr].push_back(i - 'a');
            curr = trie[curr][i - 'a'] = ++last;
        }
    }
    bitis[curr]++;
}

void dfs(int node){
    if(bitis[node]){
        for(int i=0;i<bitis[node];++i)cvb.push_back('P');
    }
    for(auto &i : gt[node]){
        cvb.push_back(i + 'a');
        dfs(trie[node][i]);
    }
    cvb.push_back('-');
}

int main(){
    cin >> n;
    vector<yas> sira(n);
    for(auto &i : sira){
        cin >> i.s;
    }
    sort(sira.begin(),sira.end());
    // reverse(sira.begin(),sira.end());
    for(auto &i : sira)qur(i.s);
    dfs(0);
    while(cvb.back() == '-')cvb.pop_back();
    cout << cvb.size() << '\n';
    for(auto &i : cvb)cout << i << '\n';
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 12120 KB Output is correct
2 Correct 5 ms 12120 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 12124 KB Output is correct
2 Incorrect 5 ms 12124 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 12124 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 12224 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 12124 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 6 ms 13148 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 12 ms 15708 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 22 ms 21436 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 44 ms 35532 KB Output is correct
2 Correct 74 ms 66248 KB Output is correct
3 Incorrect 72 ms 40912 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 43 ms 30416 KB Output isn't correct
2 Halted 0 ms 0 KB -