# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
635362 | 2022-08-26T06:48:30 Z | NeroZein | Type Printer (IOI08_printer) | C++17 | 46 ms | 36188 KB |
#include <bits/stdc++.h> #define FOR(i,a,b) for (int i=a; i<=(b); i++) using namespace std; int n; long long ans; string mx; struct node{ node* ch[26]; int cnt; node(){ for(int i=0;i<26;i++) ch[i] = NULL; cnt = 0; } }; node* root = new node(); void add(string s){ node* cur = root; for(int i=0;i<s.size();i++){ int id = s[i]-'a'; if (cur->ch[id] == NULL) cur->ch[id] = new node(),ans+=2; cur = cur->ch[id]; cur->cnt++; } } void dfs(node* go,int lv=-1){ bool leaf = 0;int left = -1; if(go != root)leaf = 1; for(int i=0;i<26;i++){ if(go->ch[i] == NULL)continue; leaf = 0; if(mx[lv+1]==(i+'a')){left=i;continue;} cout<<(char(i+'a'))<<'\n'; dfs(go->ch[i],lv+1); cout<<('-')<<'\n'; } if (left!=-1){ cout<<(char('a'+left))<<'\n'; dfs(go->ch[left],lv+1); } if (leaf) cout<<('P')<<'\n'; } signed main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cin>>n; FOR(i,1,n){ string s; cin>>s; add(s); if((int)mx.size() < (int)s.size()) mx = s; } cout<<ans-(int)mx.size()+n<<'\n'; dfs(root); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 316 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | printed invalid word |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 340 KB | printed invalid word |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 324 KB | printed invalid word |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 340 KB | printed invalid word |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 1748 KB | printed invalid word |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 8 ms | 5832 KB | printed invalid word |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 21 ms | 14536 KB | printed invalid word |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 46 ms | 36188 KB | printed invalid word |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 42 ms | 28236 KB | printed invalid word |
2 | Halted | 0 ms | 0 KB | - |