hotspot 파 . Anagram.register,
~cpp WordElement
( input n 해 n 행) Psyco bind 하 4.4 .
P3 933, 128 RAM Win98 Python2.2 + Psyco .
~cpp import os import time import psyco class Formatter: def __init__(self, anAnagramTable, out=os.sys.stdout): for key in anAnagramTable.iterkeys(): out.write(' '.join(anAnagramTable[key]) + "\n") class Anagram: def __init__(self): self.anagrams={} def read(self, anIn=os.sys.stdin): for word in anIn: self.register(word.strip()) def getAnagrams(self): return self.anagrams def register(self, aWord): aw=''.join(WordElement(aWord)) if self.anagrams.has_key(aw): self.anagrams[aw].append(aWord) else: self.anagrams[aw]=[aWord] def WordElement(aWord): result=list(aWord) result.sort() return result psyco.bind(WordElement) psyco.bind(Anagram) psyco.bind(Formatter) if __name__=="__main__": start=time.clock() anagram=Anagram() anagram.read() end=time.clock() Formatter(anagram.getAnagrams()) print "time : ", end-start