# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1103984 | LeonidCuk | Type Printer (IOI08_printer) | C++17 | 137 ms | 98568 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
struct trie
{
bool check=false;
trie* a[26];
trie()
{
for(int i=0;i<26;i++)a[i]=nullptr;
}
};
string res="";
void peso(trie* m,bool check1,int j)
{
if(m->check)cout<<"P"<<"\n";
if(j==res.size()&&check1==false)
{
cout<<"-"<<"\n";
return;
}
else if(j==res.size())return;
int t=res[j]-'a';
for(int i=0;i<26;i++)
{
if(i!=t&&m->a[i]!=nullptr)
{
cout<<char('a'+i)<<"\n";
peso(m->a[i],0,j+1);
}
}
if(m->a[t]!=nullptr)
{
cout<<char('a'+t)<<"\n";
peso(m->a[t],check1,j+1);
}
if(!check1)cout<<"-"<<"\n";
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
int n,cnt=0,bb=0;
cin>>n;
string a;
trie *root=new trie();
for(int i=0;i<n;i++)
{
cin>>a;
trie *temp=root;
if(a.size()>bb)
{
bb=a.size();
res=a;
}
for(int j=0;j<a.size();j++)
{
int t=a[j]-'a';
if(temp->a[t]==nullptr)
{
temp->a[t]=new trie();
cnt++;
}
temp=temp->a[t];
}
temp->check=true;
}
cout<<2*cnt-bb+n<<"\n";
peso(root,1,0);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |