# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
930900 | 2024-02-20T16:29:28 Z | woofes | Type Printer (IOI08_printer) | C++17 | 38 ms | 29380 KB |
// #pragma GCC optimize("O3") #include <bits/stdc++.h> using namespace std; using ll = long long; const int cnt_s = 26; struct node { bool val; int lnk[cnt_s]; node () { val = false; for (int i = 0; i < cnt_s; i++) { lnk[i] = -1; } } }; vector <node> trie(1); void add(string& s) { int v = 0; for (char c : s) { int u = trie[v].lnk[c - 'a']; if (u == -1) { u = trie.size(); trie.emplace_back(); trie[v].lnk[c - 'a'] = u; } v = u; } trie[v].val = true; } vector <char> res; string s1; int j = 0; bool is_ob = true; void get_way(int v) { if (is_ob) { if (j > s1.size()) { is_ob = false; return; } int u = trie[v].lnk[s1[j] - 'a']; trie[v].lnk[s1[j++] - 'a'] = -1; get_way(u); res.push_back(s1[--j]); } if (trie[v].val){ res.push_back('P'); } for (int i = 0; i < cnt_s; i++ ) { int el = trie[v].lnk[i]; if (el != -1) { res.push_back('-'); get_way(el); res.push_back('a' + i); } } } signed main() { ios_base::sync_with_stdio(0); cin.tie(nullptr); // freopen("input.txt", "r", stdin); int n; cin >> n; for (int i = 0; i < n; i++) { string s; cin >> s; add(s); if (s.size() > s1.size()) { s1 = s; } } get_way(0); reverse(res.begin(), res.end()); for (char el : res) { cout << el << "\n"; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 344 KB | Expected integer, but "t" found |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 344 KB | Expected integer, but "y" found |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 348 KB | Expected integer, but "x" found |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | Expected integer, but "x" found |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 604 KB | Expected integer, but "z" found |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 1332 KB | Expected integer, but "z" found |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 3856 KB | Expected integer, but "z" found |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 13 ms | 8892 KB | Expected integer, but "z" found |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 38 ms | 29380 KB | Expected integer, but "z" found |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 24 ms | 16068 KB | Expected integer, but "z" found |
2 | Halted | 0 ms | 0 KB | - |