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

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

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

参考题解写出来的

#include<bits/stdc++.h>

using namespace std;

int main(){
    
    vector<int> mask(4,0);
    vector<int> ip1(4,0);
    vector<int> ip2(4,0);
    char c;
    while(cin>>mask[0]>>c>>mask[1]>>c>>mask[2]>>c>>mask[3]){
        cin>>ip1[0]>>c>>ip1[1]>>c>>ip1[2]>>c>>ip1[3];
        cin>>ip2[0]>>c>>ip2[1]>>c>>ip2[2]>>c>>ip2[3];
        int res=0;
        for(int i=0;i<4;++i){
            if(mask[i]<0||mask[i]>255||ip1[i]<0||ip1[i]>255||ip2[i]<0||ip2[i]>255){
                res=1;break;
            }
        }
        for(int i=0;i<3;i++){
            if(mask[i]<255 && mask[i+1]>0)
            {
                res = 1;
                break;
            }
        }
        if(res==1){
            cout<<1<<endl;
        }else{
            for(int i=0;i<4;++i){
                if((mask[i]&ip1[i])!=(mask[i]&ip2[i])){
                    res=2;
                    break;
                }
            }
            cout<<res<<endl;
        }
    }
    
    
    return 0;
}

全部评论

相关推荐

2024-12-08 18:59
东北大学 Java
Java抽象带篮子:外卖项目可以看看我的详细的外卖话术,里面还写了怎么描述项目,还为了提高含金量额外增加了很多技术亮点呢。另外我这边还有个7000多字的轮子项目话术,可以狠狠的速成,需要的似我
点赞 评论 收藏
分享
KPLACE:首先是板面看起来不够,有很多奖,比我厉害。项目要精减,大概详细描述两到三个,要把技术栈写清楚,分点,什么算法,什么外设,怎么优化,不要写一大堆,分点,你写上去的目的,一是让别人知道你做了这个知识点,然后在面试官技术面的时侯,他知道你会这个,那么就会跟你深挖这个,然后就是个人评价改为专业技能
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务