Skip to content

Instantly share code, notes, and snippets.

@yasuharu519
Created January 18, 2013 06:46
Show Gist options
  • Save yasuharu519/4562836 to your computer and use it in GitHub Desktop.
Save yasuharu519/4562836 to your computer and use it in GitHub Desktop.
The Essence of Programming 結城 浩さんからのアルゴリズムの問題 https://codeiq.jp/ace/yuki_hiroshi/q171
import sys
class NicknameSets(object):
def __init__(self):
self.nickKinds = list()
def add(self, a, b):
for k in self.nickKinds:
if a in k or b in k:
k.add(a)
k.add(b)
break
else:
newSet = set()
newSet.add(a)
newSet.add(b)
self.nickKinds.append(newSet)
def printOut(self):
for s in sorted(self.nickKinds,
key=lambda x:sorted(list(x))):
print "=".join(list(sorted(s)))
def main():
pass
if __name__ == "__main__":
nicknameSets = NicknameSets()
for line in sys.stdin.readlines():
line = line.rstrip()
a, b = line.split('=')
nicknameSets.add(a, b)
nicknameSets.printOut()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment