华为oj_判断两个IP是否属于同一子网
来源:互联网 发布:淘宝开零食店要什么证 编辑:程序博客网 时间:2024/06/10 21:38
#include <iostream>#include <string>#include <cstdlib>#include <vector>using namespace std;bool checked_ip(string ip,vector<int> &vip){ vector<string> part; string::size_type ip_size=ip.size(); int pointCount=0; int i,num; string::size_type index=0; string::size_type prePoint=0; while((index=ip.find_first_of('.',index))!=string::npos) { if(index>prePoint) part.push_back(ip.substr(prePoint,index-prePoint)); ++index; prePoint=index; ++pointCount; } if(prePoint<ip_size) part.push_back(ip.substr(prePoint)); if(part.size()!=4) return false; for(i=0;i<4;i++) { num=atoi(part[i].c_str()); vip.push_back(num); if(num<0||num>255) return false; } return true;}bool checked_mask(string mask,vector<int> &vmask){ return checked_ip(mask,vmask);}bool checked_same(vector<int> vip1,vector<int> vip2,vector<int> vmask){ int i; int r1,r2; for(i=0;i<4;i++) { r1=vip1[i]&vmask[i]; r2=vip2[i]&vmask[i]; if(r1!=r2) return false; } return true;}int checkNetSegment(string mask, string ip1, string ip2){ vector<int> vip1; vector<int> vip2; vector<int> vmask; if(checked_ip(ip1,vip1)&&checked_ip(ip2,vip2)&&checked_mask(mask,vmask)) { if(checked_same(vip1,vip2,vmask)) return 0; else return 2; } else return 1;}int main(){ string mask,ip1,ip2; while(cin>>mask>>ip1>>ip2) { cout<<checkNetSegment(mask,ip1,ip2)<<endl; } return 0;}
0 0
- 华为oj_判断两个IP是否属于同一子网
- 华为OJ:判断两个IP是否属于同一子网
- 华为oj 判断两个ip是否属于同一子网
- 华为oj:判断两个IP是否属于同一个子网
- 华为oj 判断两个IP是否属于同一子网
- 【华为OJ】【075-判断两个IP是否属于同一子网】
- [华为OJ] 判断两个IP是否属于同一子网
- 【华为OJ】判断两个IP是否属于同一子网
- 华为OJ 初级:判断两个IP是否属于同一子网
- 华为OJ:判断两个IP是否属于同一子网
- 华为OJ判断两个IP是否属于同一子网
- 华为OJ:判断两个IP是否属于同一子网
- 华为OJ--判断两个IP是否属于同一个子网
- 判断两个IP是否属于同一子网
- 判断两个IP是否属于同一子网
- 判断两个IP是否属于同一子网
- 判断两个IP是否属于同一子网
- 判断两个IP是否属于同一子网
- 华为oj_蛇形矩阵
- 第一篇
- wxhl bj ios 49期 张浩 学习心得体会文章连载 第8章
- 华为oj_字符串加密
- python核心编程(第二版)习题_第三章
- 华为oj_判断两个IP是否属于同一子网
- Python3.4安装日记
- 华为oj_输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数
- aaaa
- 【持续更新中】可用“海马王模拟器”来模拟安卓、苹果的环境
- Add Digits leetCode
- Android进程间通信(IPC)机制Binder简要介绍和学习计划
- 华为oj_称砝码
- ZigBee 设置信道、PANID、发射功率