题解 | #判断两个IP是否属于同一子网#

判断两个IP是否属于同一子网

https://www.nowcoder.com/practice/34a597ee15eb4fa2b956f4c595f03218

def exami(a):
    if len(a) != 4 or "" in a:
        return False

    for i in a:
        if 0 > int(i) or int(i) > 255:
            return False
    return True


def exam(b):
    k = ""
    for i in b:
        k += bin(int(i))[2:].rjust(4, "0")
    if k.find("0") - 1 == k.rfind("1"):
        return True
    return False


def exa(a, b, c):
    for i in range(4):
        if int(a[i]) & int(b[i]) != int(a[i]) & int(c[i]):
            return False
    return True


while True:
    try:
        a = input().split(".")
        b = input().split(".")
        c = input().split(".")
        if exami(a) and exami(b) and exami(c):
            if exam(a) :
                if exa(a, b, c):
                    print("0")
                else:
                    print("2")
            else:
                print("1")
        else:
            print("1")

    except:
        break

全部评论

相关推荐

Aki-Tomoya:窝趣,人家这是先富带动后富,共同富裕了属于是
投递英伟达等公司8个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务