Submission #626445

#TimeUsernameProblemLanguageResultExecution timeMemory
626445hspark8494Type Printer (IOI08_printer)Cpython 3
30 / 100
1092 ms67632 KiB
class trie: def __init__(self, parent): self.data = {} self.parent = parent self.dept = 0 self.end = False words = [] tries = trie(None) n = int(input()) for _ in range(n): word = input() words.append(word) curr = tries for w in word: if not w in curr.data: curr.data[w] = trie(curr) curr = curr.data[w] p = curr.parent while p: p.dept+=1 p = p.parent 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].dept): result.append(c) dfs_trie(curr.data[c], result) if n>0: result.append("-") result = [] dfs_trie(tries, result) print(len(result)) print("\n".join(result))
#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...