# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1026241 | ach00 | Type Printer (IOI08_printer) | C++14 | 1064 ms | 2516 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;
bool cmp(const string &s1, const string &s2) {
return s1.size() < s2.size();
}
int main() {
int n; cin >> n;
vector<string> words(n);
vector<bool> printed(n, false);
vector<char> choices;
vector<char> cprint;
int pc = 0;
for(auto &a : words) cin >> a;
sort(words.begin(), words.end(), cmp);
int itp = 0;
while(pc != n) {
while(cprint.size() != words[itp].size()) {
choices.push_back(words[itp][cprint.size()]);
cprint.push_back(words[itp][cprint.size()]);
}
choices.push_back('P');
pc++;
if(pc == n) break;
printed[itp] = true;
int mx_prf = -1;
int mx_id = -1;
for(int i = 0; i < n; i++) {
if(printed[i]) continue;
int cnt = 0;
for(int j = 0; j < min(words[i].size(), cprint.size()); j++) {
if(words[i][j] == cprint[j]) cnt++;
else break;
}
if(cnt > mx_prf) {
mx_prf = cnt;
mx_id = i;
}
}
itp = mx_id;
while(cprint.size() != mx_prf) {
cprint.pop_back();
choices.push_back('-');
}
}
cout << choices.size() << '\n';
for(auto &c : choices) {
cout << c << '\n';
}
}
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... |