# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
320121 | 2020-11-07T15:54:48 Z | enerelt14 | Type Printer (IOI08_printer) | C++14 | 179 ms | 98660 KB |
#include <bits/stdc++.h> using namespace std; int ans = 0; struct Node{ int last; int is; Node *next[26]; Node(){ last = false; is = false; for(int i = 0; i < 26; i++) next[i] = NULL; } } *root = new Node; void insert(Node *root, string s){ for(int i = 0; i < s.size(); i++){ int index = s[i] - 'a'; if(root -> next[index] == NULL) { root -> next[index] = new Node; ans ++; } root = root -> next[index]; } root -> last = 1; } void search(Node *root, string s){ for(int i = 0; i < s.size(); i++){ int index = s[i] - 'a'; root = root -> next[index]; root -> is = 1; } root -> last = 1; } void Print(Node *root){ for(int i = 0; i < 26; i++){ if(root -> next[i] != NULL && !root -> next[i] -> is){ cout << char(i + 'a')<< '\n'; if(root -> next[i] -> last) cout << "P" << '\n'; Print(root -> next[i]); cout << "-" << '\n'; } } } int n; string st; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n; for(int i = 1; i <= n; i++) { string s; cin >> s; insert(root, s); if(s.size() > st.size()) st = s; } search(root, st); cout << ans * 2 + n - st.size() << '\n'; Print(root); for(int i = 0; i < st.size(); i++){ cout << st[i] << '\n'; Print(root -> next[st[i] - 'a']); if(root -> next[st[i] - 'a'] -> last) cout << "P" << '\n'; root = root -> next[st[i] - 'a']; } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 492 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 492 KB | Output is correct |
2 | Correct | 2 ms | 1132 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 2176 KB | Output is correct |
2 | Correct | 4 ms | 2284 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 11 ms | 5868 KB | Output is correct |
2 | Correct | 23 ms | 12524 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 14572 KB | Output is correct |
2 | Correct | 9 ms | 3308 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 65 ms | 36324 KB | Output is correct |
2 | Correct | 141 ms | 82916 KB | Output is correct |
3 | Correct | 80 ms | 42724 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 58 ms | 28388 KB | Output is correct |
2 | Correct | 179 ms | 98660 KB | Output is correct |
3 | Correct | 90 ms | 48484 KB | Output is correct |
4 | Correct | 151 ms | 93156 KB | Output is correct |