# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
857804 | vjudge1 | Type Printer (IOI08_printer) | C++17 | 92 ms | 37196 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <cstdio>
#include <cstring>
#include <cassert>
#include <string>
#include <deque>
#include <vector>
#include <map>
#include <queue>
#include <algorithm>
#include <iostream>
#include <utility>
using namespace std;
using ll=long long;
#define N 200005
#define ALL(x) x.begin(), x.end()
vector<char> ans;
int cend2;
int n;
char s[21];
struct Trie
{
int start = 0, end = 0, sz = 1;
vector<tuple<int, char,Trie*>> sortbysz;
Trie() {}
void insert(char *s, int p = 0)
{
if (!*s) { ++end; return; }
if (p == 1) ++start;
char c = *s++;
for (auto [sz, ch, n] : sortbysz)
if (ch == c)
{ n->insert(s); return; }
Trie *n = new Trie();
sortbysz.emplace_back(1, c, n);
n->insert(s);
}
void preprocess()
{
for (auto &[csz, c, n] : sortbysz)
{
n->preprocess();
sz = max(sz, csz = n->sz+1);
}
sort(ALL(sortbysz));
}
void print()
{
while (end--)
{
ans.push_back('P');
if (++cend2 == n)
{
printf("%d\n", (int)ans.size());
for (char c : ans) printf("%c\n", c);
exit(0);
}
}
for (auto [sz, c, n] : sortbysz)
{
ans.push_back(c);
n->print();
}
ans.push_back('-');
}
};
int main()
{
scanf("%d", &n);
Trie *t = new Trie();
for (int i = 0; i < n; ++i)
{
scanf("%s", s);
t->insert(s);
}
t->preprocess();
t->print();
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
# | 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... |