题解 | #判断两个IP是否属于同一子网#
判断两个IP是否属于同一子网
https://www.nowcoder.com/practice/34a597ee15eb4fa2b956f4c595f03218
while True: try: mask = list(map(int,input().split('.'))) ip1 = list(map(int,input().split('.'))) ip2 = list(map(int,input().split('.'))) if max(mask+ip1+ip2)>255 or min(mask+ip1+ip2)<0: print(1) continue m10 = ''.join([bin(int(i))[2:].rjust(8,'0') for i in mask]) zero_index = m10.find('0') one_index = m10[::-1].find('1') if zero_index + one_index != 32: print(1) continue z1 = [ip1[i]&mask[i] for i in range(4)] z2 = [ip2[i]&mask[i] for i in range(4)] if z1 == z2: print(0) else: print(2) except Exception as e: if str(e).startswith('EOF'): break print(1)