# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
320025 | 2020-11-07T10:00:00 Z | Bill_00 | Type Printer (IOI08_printer) | C++14 | 168 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 | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 492 KB | Output is correct |
2 | Correct | 1 ms | 392 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 492 KB | Output is correct |
2 | Correct | 2 ms | 1164 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 1900 KB | Output is correct |
2 | Correct | 4 ms | 2432 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 11 ms | 5868 KB | Output is correct |
2 | Correct | 22 ms | 12396 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 27 ms | 14692 KB | Output is correct |
2 | Correct | 11 ms | 3340 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 66 ms | 36300 KB | Output is correct |
2 | Correct | 142 ms | 83044 KB | Output is correct |
3 | Correct | 78 ms | 42724 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 69 ms | 28388 KB | Output is correct |
2 | Correct | 168 ms | 98660 KB | Output is correct |
3 | Correct | 88 ms | 48696 KB | Output is correct |
4 | Correct | 153 ms | 93160 KB | Output is correct |