# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
721317 | 2023-04-10T16:43:47 Z | thimote75 | Type Printer (IOI08_printer) | C++14 | 1000 ms | 53832 KB |
#include <bits/stdc++.h> using namespace std; vector<char> chr_buffer; struct Trie { map<char, Trie> m; int count = 0; int mxSize = 0; void append (string &buffer, int offset) { if (offset == buffer.size()) { count ++; return ; } mxSize = max(mxSize, (int) buffer.size()); if (m.find(buffer[offset]) == m.end()) m.insert({ buffer[offset], Trie() }); Trie &tr = (*m.find(buffer[offset])).second; tr.append(buffer, offset + 1); } void show () { for (int i = 0; i < count; i ++) chr_buffer.push_back('P'); bool found = false; for (auto u : m) { if (u.second.mxSize == mxSize && !found) { found = true; continue ; } chr_buffer.push_back(u.first); u.second.show(); chr_buffer.push_back('-'); } for (auto u : m) { if (u.second.mxSize != mxSize) continue ; chr_buffer.push_back(u.first); u.second.show(); chr_buffer.push_back('-'); break; } } }; Trie res; int main () { ios_base::sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; string b; for (int i = 0; i < N; i ++) { cin >> b; res.append(b, 0); } res.show(); while (chr_buffer[chr_buffer.size() - 1] == '-') chr_buffer.pop_back(); cout << chr_buffer.size() << endl; for (char c : chr_buffer) cout << c << endl; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 320 KB | Output is correct |
2 | Correct | 1 ms | 400 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 320 KB | Output is correct |
2 | Correct | 1 ms | 324 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 1 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 1 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 340 KB | Output is correct |
2 | Correct | 11 ms | 792 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 25 ms | 1284 KB | Output is correct |
2 | Correct | 27 ms | 1388 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 78 ms | 3408 KB | Output is correct |
2 | Correct | 196 ms | 6984 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 196 ms | 8168 KB | Output is correct |
2 | Correct | 60 ms | 2004 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 516 ms | 19940 KB | Output is correct |
2 | Execution timed out | 1069 ms | 45852 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 406 ms | 15716 KB | Output is correct |
2 | Execution timed out | 1070 ms | 53832 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |