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 ...
随机推荐
- redis7--hash set的操作
数据类型Hash(1)介绍hash数据类型存储的数据与mysql数据库中存储的一条记录极为相似Redis本身就类似于Hash的存储结构,分为key-value键值对,实际上它的Hash数据就好像是在R ...
- [折腾纪实]JAVA的坑
开贴记录使用JAVA踩的坑-- P.S. 学习编程最好的方法就是用一个贴心的IDE写,然后隔着屏幕都能感觉到IDE在骂自己SB-- Overridable method calls in constr ...
- screen实现关闭ssh之后继续运行代码
本文基于Ubuntu 14.04 使用SSH连接远程服务器,启动服务,退出SSH后,服务也就终止了,使用Screen可以解决这个问题. 1.安装Screen apt-get install scree ...
- 关于Unity项目中创建项目遇到的一些问题
1.Unity调用Android的方法默认不是在UI线程执行,所以在Android上写一些页面的重绘的方法,让Unity去调用时,注意要在Android中添加对应的runOnUiThread才可以: ...
- 浙大 pat 1024题解
1024. Palindromic Number (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A ...
- MySQL聚簇索引
聚簇索引并不是一种单独的索引类型,而是一种数据存储方式.具体的细节依赖于其实现方式,但innoddb 的聚簇索引实际上在同一个结构中保存了B-Tree索引和数据行. 当表有聚簇索引时,它的数据实际上存 ...
- 分享到QQ空间、新浪微博、腾讯微博和人人网
function shareys(type, url, title, img, content) { switch (type) { case "sina": url = &quo ...
- 使用Apache + mod_jk + tomcat来实现tomcat集群的负载均衡出现的无法加载mod_jk.conf文件的问题
用Apache + mod_jk + tomcat来实现tomcat集群的负载均衡的 如果出现了问题,可以用cmd cd到Apache安装文件的bin下,运行httpd文件,错误信息就会打印出来. ...
- genymotion模拟器配置X86模拟器加速器
网上下载zip包 http://download.csdn.net/download/we5868123/9430140 直接拖进去即可,虚拟机不能使用管理员权限启动 名字为:解决genymotion ...
- photoshop的页面制作练习1