判断两个IP是否属于同一子网(没有判断掩码或ip是否合法,测试通过牛客)

来源:互联网 发布:淘宝忘记密码怎么办 编辑:程序博客网 时间:2024/05/19 17:03
#include<bits/stdc++.h>using namespace std;void split(char s[],int a[]){    char *p=strtok(s,".");    int num=0;    while(p!=NULL)    {        a[num++]=atoi(p);        p=strtok(NULL,".");    }}int main(){    char y[10],ip1[10],ip2[10];    while(scanf("%s%s%s",y,ip1,ip2)!=EOF)    {        int yn[4],p1[4],p2[4];        split(y,yn);        split(ip1,p1);        split(ip2,p2);        int i;        for(i=0; i<4; i++)            if((p1[i]&yn[i])!=(p2[i]&yn[i]))break;        if(i==4)cout<<"0"<<endl;        else cout<<"2"<<endl;    }    return 0;}