#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
if (!(cin >> n)) return 0;
vector<string> words(n);
for (int i = 0; i < n; i++) cin >> words[i];
sort(words.begin(), words.end());
string cur;
for (int i = 0; i < n; i++) {
const string& w = words[i];
// pop until cur is a prefix of w
while (cur.size() > w.size() || w.compare(0, cur.size(), cur) != 0) {
cur.pop_back();
cout << "-\n";
}
// push remaining characters
while (cur.size() < w.size()) {
char c = w[cur.size()];
cur.push_back(c);
cout << c << "\n";
}
}
return 0;
}
# | 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... |