Submission #321617

#TimeUsernameProblemLanguageResultExecution timeMemory
321617iliccmarkoType Printer (IOI08_printer)C++14
0 / 100
48 ms18156 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
#define INF 1000000000
#define LINF 1000000000000000LL
#define pb push_back
#define all(x) x.begin(), x.end()
#define len(s) (int)s.size()
#define test_case { int t; cin>>t; while(t--)solve(); }
#define input(n, v) {for(int i = 0;i<n;i++) cin>>v[i];}
#define output(n, v) {for(int i = 0;i<n;i++) cout<<v[i]<<" "; cout<<endl;}
#define single_case solve();
#define line cout<<"------------"<<endl;
#define ios { ios_base::sync_with_stdio(false); cin.tie(NULL); }
using namespace std;
const int N = 5e5 + 5;
int trie[N][26];
int kraj[N];
int ind;
int n;
int cnt = 0;

void _insert(string s)
{
    int node = 0;
    for(int i = 0;i<len(s);i++)
    {
        int c = s[i] - 'a';
        if(!trie[node][c]) trie[node][c] = ++ind;
        node = trie[node][c];
    }
    kraj[node] = 1;
}

void resi(int node)
{
    if(kraj[node])
        {
            cout<<"P"<<endl;
            cnt++;
        }
    for(int i = 0;i<26;i++)
    {
        if(trie[node][i])
            cout<<char(i+'a')<<endl, resi(trie[node][i]);
    }
    if(cnt<n)
        cout<<"-"<<endl;
}

int main()
{
    ios
    cin>>n;
    for(int i = 0;i<n;i++)
    {
        string s;
        cin>>s;
        _insert(s);
    }

    resi(0);




    return 0;
}
#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...