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