HDU2206:IP的计算
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; int main()
{
char data[];
int flag,t;
while(gets(data))
{
flag=;//假设是对的
for(int i=;i<strlen(data);i++)//第一步,先找是否有特殊符号
{
if((data[i]<''||data[i]>'')&&data[i]!='.')
flag=;
}
//第二步,看是否有且只有三个'.'
int cnt=;
for(int i=;i<strlen(data);i++)
{
if(data[i]=='.')
cnt++;
}
if(cnt!=)
flag=;
//第三步,看两个点之间的长度是否是1~3位;
int num=,l,k=;;
char p[];
l=strlen(data);
data[l]='.';
data[l+]='\0';
t=;
int wei=;
for(int i=;i<=strlen(data);i++)
{
if(data[i]!='.')
wei++;
else if(data[i]=='.'&&data[i-]!='.')
{
if(wei<||wei>)
flag=;
wei=;
}
}
//第四步,看数字是不是1~255
for(int i=;i<=strlen(data);i++)
{
if(data[i]!='.')
{
p[k]=data[i];
k++;
}
else if(data[i-]!='.'&&i>)
{
p[k]='\0';
num=atoi(p);
if(num>)//if(num<1||num>255)此处是此题神坑位置。。。因为000.3.3.3是正确的。。
flag=;
k=;
t++;
}
}
if(t!=)
flag=;
if(flag==)
cout<<"NO"<<endl;
if(flag==)
cout<<"YES"<<endl; }
return ;
}
HDU2206:IP的计算的更多相关文章
- HDU2206 IP的计算 【经典题】
IP的计算 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- IP的计算
IP的计算 时间限制: 1 Sec 内存限制: 32 MB 位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如192 ...
- 彻底明白IP地址——计算相关地址
知道ip地址和子网掩码后可以算出: 1. 网络地址 2. 广播地址 3. 地址范围 4. 本网有几台主机 例1:下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0.算出 ...
- 用Python帮你实现IP子网计算
目录 0. 前言 1. ipaddress模块介绍 1.1 IP主机地址 1.2 定义网络 1.3 主机接口 1.4 检查address/network/interface对象 1.4.1 检查IP版 ...
- 阿里云专有网络配置以及交换机配置+ip、子网掩码、ip网段计算原理讲解
在阿里云上购买ECS或者其他服务,如redis.polardb时,需要配置专有网络,阿里的文档写的总体上还是比较抽象的,没有一定的网络基础,会一脸懵. 所以这里我来进行专有网络和交换机的配置,以及ip ...
- ip子网掩码计算及子网划分
为什么要懂 子网掩码计算,及子网划分属于网络基础知识.一般在几个地方会用到: 公司避免产生网络风暴而划分子网,帮助路由器判断对应主机是否在同一个网段中 服务器相互隔离而划分子网,一般机房管理人员规划: ...
- HDOJ 2206 IP的计算(正则表达式的应用)
Problem Description 在网络课程上,我学到了很多有关IP的知识.IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方 ...
- HDU 2206 IP的计算(字符串处理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2206 Problem Description 在网络课程上,我学到了非常多有关IP的知识. IP全称叫 ...
- 【HDOJ】2206 IP的计算
题目很简单,情况有很多种. #include <stdio.h> #include <string.h> ]; int isIPaddr(char buf[]) { int i ...
随机推荐
- nodejs在cmd提示不是内部或外部命令解决方法
今天用cmd安装个库,结果发现node不是内部命令,于是搜索了下解决方法,发现原来我上次重装nodejs换了个安装位置,path环境变量忘改了. 找到变量值中node的安装地址,比如C:develop ...
- PHP来实现文件上传
文件php <?phpif ($_FILES["file"]["error"] > 0){ echo '错误: ' . $_FILES[" ...
- 分布式版本控制系统Git-----5.Git 的push命令总结
git push git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. git push <远程主机名> <本地分支名>:<远程 ...
- 给图片使用border-radius 图片会变成圆的。
- 深入分析Java Web开发
Web请求过程 如何发起请求:browser,httpclient http解析:chrome ,cache Dns域名解析:域名缓存 cdn:负载,动态加速,回源 Java I/O I/0类库的基本 ...
- 第三节,入门知识和windows系统安装python环境
1.使用Linux的好处(稳定)不容易死机,可以长达几年不间断运行(安全)相对windows系统更安全,相对更不容受到各种攻击(开源)免费使用2.安装好虚拟机VMware软件,和Linux系统,以及X ...
- 《JS权威指南学习总结--8.6 函数闭包》
内容要点: 和其他大多数现代编程一样,JS也采用词法作用域,也就是说,函数的执行依赖于变量作用域,这个作用域是在函数定义时决定的,而不是函数调用时决定的. 为了实现这种词法作用域,JS函数对象的内部状 ...
- Effective JavaScript :第六章
1.将undefined看成没有值 产生undefined的情况: ①未赋值的变量的初始值为undefined. var x ; X ; //undefined ②访问对象中不存在的属性也会产生und ...
- JavaScript的DOM(文档对象)基础语法总结1
---恢复内容开始--- 前言:HTML文档可以说由节点构成的集合,DOM节点有: 1). 元素节点:上图中<html>.<body>.<p>等都是元素节点,即标签 ...
- 如何使用cygwin去编译cocos2dx项目中的C++文件
将生成的cocos2dx的Android项目导入到eclipse 可以先测试一下如何编译C++项目: 1.打开cygwin,进入到Android项目对应的目录下面去: 2.编译脚本 在编译脚本之间,如 ...