blob: f0a6e4de6fdbe6b2e6e70128a195c30c586de122 [file] [log] [blame]
import sys
from collections import OrderedDict
class Trie:
def __init__(self, name):
self.name = name
self.children = OrderedDict()
self.count = 1
def add(self, name):
if name in self.children:
self.children[name].count += 1
else:
self.children[name] = Trie(name)
return self.children[name]
def print(self, depth):
if depth > 0:
print('|', end="")
for i in range(depth):
print('-', end="")
if depth > 0:
print(end=" ")
print(self.name, '#', self.count)
for key, child in self.children.items():
child.print(depth + 1)
Root = Trie("Root")
if __name__ == "__main__":
for line in sys.stdin:
words = line.split('==>')
words = [word.strip() for word in words]
MyTrie = Root;
for word in words:
MyTrie = MyTrie.add(word)
Root.print(0)