# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
122183 | thebes | Type Printer (IOI08_printer) | C++14 | 49 ms | 2676 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;
string s, arr[25005], lol;
int n, i, j, x, ord[26], nxt=25; vector<char> mv;
bool cmp(string i,string j){
for(int ii=0;ii<min(i.size(),j.size());ii++){
if(i[ii]!=j[ii]) return ord[i[ii]-'a']<ord[j[ii]-'a'];
}
return i.size()<j.size();
}
int main(){
for(scanf("%d",&n),i=1;i<=n;i++){
cin >> arr[i];
if(arr[i].size()>lol.size())
lol = arr[i];
}
for(auto v : lol){
if(ord[v-'a']) continue;
ord[v-'a']=nxt--;
}
for(i=25;i>=0;i--){
if(ord[i]) continue;
ord[i]=nxt--;
}
sort(arr+1,arr+n+1,cmp);
for(i=1;i<=n;i++){
for(j=0;j<min(s.size(),arr[i].size());j++){
if(s[j]!=arr[i][j]) break;
}
while(s.size()>j){
mv.push_back('-');
s.pop_back();
}
while(s.size()<arr[i].size()){
s.push_back(arr[i][s.size()]);
mv.push_back(arr[i][s.size()-1]);
}
mv.push_back('P');
}
printf("%d\n",mv.size());
for(auto v : mv) printf("%c\n",v);
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... |