Submission #626527

#TimeUsernameProblemLanguageResultExecution timeMemory
626527hspark8494Type Printer (IOI08_printer)Cpython 3
80 / 100
1097 ms73920 KiB
class trie: def __init__(self, parent): self.data = {} self.parent = parent self.ln = 0 self.end = False words = [] tries = trie(None) n = int(input()) for _ in range(n): word = input() words.append(word) curr = tries ln = len(word) for w in word: if not w in curr.data: curr.data[w] = trie(curr) curr = curr.data[w] curr.ln = max(ln, curr.ln) else: curr.end = True def dfs_trie(curr:trie, result): global n if curr.end: result.append("P") n -= 1 for c in sorted(curr.data.keys(), key=lambda x: curr.data[x].ln): result.append(c) dfs_trie(curr.data[c], result) if n>0: result.append("-") result = [] dfs_trie(tries, result) print(len(result)) print(*result, sep="\n")
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...