from collections import OrderedDict import sys lines = sys.stdin.readlines() n = int(lines[0].strip()) old_l = lines[1:n+1] m = int(lines[n+1].strip()) transfer_l = lines[n+2:] old = OrderedDict() transfer = dict() jwr = dict() for o in reversed(old_l):     e1, e2, e3 = o.strip().split(",")     if (e1, e3) in jwr:         continue     old[(e1, e2)] = e3     jwr[(e1, e3)] = e2 last_name = dict() for t in reversed(transfer_l):     e1, e2, e3, e4 = t.strip().split(",")     if (e1, e2) in transfer:         continue     transfer[(e1, e2)] = (e3, e4)     last_name[(e3, e4)] = old[(e1, e2)] new_air_seat = dict() seat_taken = set() air_taken = set() for k in old:     user = old[k]     if k not in transfer:         new_air, new_seat = k         if (new_air, new_seat) not in seat_taken and (user, new_air) not in air_taken:             new_air_seat[k] = old[k]         continue     new_air, new_seat = transfer[k]     if (new_air, new_seat) not in seat_taken and (user, new_air) not in air_taken:         new_air_seat[(new_air, new_seat)] = user         seat_taken.add((new_air, new_seat))         air_taken.add((user, new_air)) # print(new_air_seat) r = [] for k in sorted(new_air_seat.keys()):     if k in last_name.keys() and new_air_seat[k] != last_name[k]:         continue     r.append("%s,%s,%s" % (k[0], k[1], new_air_seat[k])) for rr in r:     print(rr) # print(old) # print(transfer) 总体来说考虑的还是挺多的
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务