#第二题 ac trans = {"a":10,"b":11,"c":12,"d":13,"e":14,"f":15} result = {} seen = {} find = 0 def get_id(string): count = 0 for i in string: if i in trans: i = trans[i] else: i = int(i) count = count * 16 + i return count def start1(start,key): global find,seen if key in result: # print start,"key_list:",result[key]["after"] if start in result[key]["after"]: find = 1 else: for item in result[key]["after"]: # print "in",item if not seen[item]: seen[item] = True start1(start,item) def clear(): global seen for key,value in seen.items(): seen[key] = False # count = 0 while True: flag = 1 data = raw_input() if "}," not in data: flag = 0 id1 = data.split(",")[0].replace("{","").strip() id2 = data.split(",")[1].replace("}","").replace(",","").strip() if id1 in result: result[id1]["after"].append(id2) else: result[id1] = {"index":get_id(id1.replace("0x","")),"after":[id2]} if id2 not in result: result[id2] = {"index":get_id(id2.replace("0x","")),"after":[]} if id1 not in seen: seen[id1] = False if id2 not in seen: seen[id2] = False if flag == 0: break # print count result_list = [] for key,value in result.items(): # print key clear() seen[key] = True start1(key,key) # print "find",find if find == 0: result_list.append([value["index"],key,"false"]) else: result_list.append([value["index"],key,"true"]) find = 0 this_count = 0 for item in sorted(result_list,key = lambda x:x[0]): this_count += 1 # print this_count if (this_count == len(result_list)): print "{"+item[1]+", "+item[2]+"}" else: print "{"+item[1]+", "+item[2]+"},"
点赞 评论

相关推荐

牛客网
牛客企业服务