Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u

Submit

Status

Practice

HDU 2206

Description

在网络课程上,我学到了很多有关IP的知识。IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如192.168.100.16,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。

但是粗心的我,常常将IP地址写错,现在需要你用程序来判断。

Input

输入有多个case,每个case有一行,不超过100个字符。

Output

对于每个case,判断输入的IP是否正确,如果正确输入YES,否则NO。

Sample Input

192.168.100.16

Sample Output

YES

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; char str[110];
int pos[4];
int main(){
//freopen("in.txt","r",stdin);
while(gets(str) != NULL){
int cnt = 0,flag = 1;
int len = strlen(str);
for(int i = 0; i < len; i++){
if(str[i] == '.') pos[cnt++] = i;
else if(str[i] < '0' || str[i] > '9') flag = 0;
}
if(pos[0] >= 4 || pos[0] == 0 || cnt != 3) flag = 0;
for(int i = 1; i <= 2; i++){
int temp = pos[i]-pos[i-1];
if(temp > 4 || temp == 0 || temp ==1) { flag = 0; break;}
}
int c = 0;
for(int i = 0; i < len; i++)
if(str[i]!= '.') c = c*10+str[i]-'0';
else if(c > 255) flag = 0;
else c = 0;
if(c > 255) flag = 0;
if(flag) puts("YES");
else puts("NO");
}
return 0;
}

判断给定的字符串是不是符合IP地址的描述方式。注意是给定的字符串!

一个合法的IP地址

1.有且仅有3个’.’

2.第一个点出现的位置是字符串下标的1-3,后面相邻两个’.’的下标差为2-3

3.每一个数字的范围是0-255

HDU 2206的更多相关文章

  1. HDU 2206 IP的计算(字符串处理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2206 Problem Description 在网络课程上,我学到了非常多有关IP的知识. IP全称叫 ...

  2. hdu 2206 IP的计算(最全的注意事项)

    注意: 1.非法字符(包括空格) 如下都是错的 A.145.124.4 192.168.18 123(用scanf输入的话,则接收的是:192.168.18) 2.'.'有且仅有3个,且不能连续出现, ...

  3. HDU——PKU题目分类

    HDU 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 ...

  4. [转] HDU 题目分类

    转载来自:http://www.cppblog.com/acronix/archive/2010/09/24/127536.aspx 分类一: 基础题:1000.1001.1004.1005.1008 ...

  5. HDU ACM 题目分类

    模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 104 ...

  6. HDU 3594.Cactus 仙人掌图

    Cactus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  7. 转载:hdu 题目分类 (侵删)

    转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...

  8. poj和hdu部分基础算法分类及难度排序

    最近想从头开始刷点基础些的题,正好有个网站有关于各大oj的题目分类(http://www.pythontip.com/acm/problemCategory),所以写了点脚本把hdu和poj的一些题目 ...

  9. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

随机推荐

  1. POJ 1390 Blocks(记忆化搜索+dp)

    POJ 1390 Blocks 砌块 时限:5000 MS   内存限制:65536K 提交材料共计: 6204   接受: 2563 描述 你们中的一些人可能玩过一个叫做“积木”的游戏.一行有n个块 ...

  2. laravel注册行为的方法和逻辑

    public function register() { //验证: $this->validate(\request(), [ 'name' => 'required|min:3|uni ...

  3. Win10系列:UWP界面布局进阶4

    在开发Windows应用商店应用程序时,可以为页面中的界面元素添加快捷菜单,并设置与其相关的菜单项,用户通过选择快捷菜单中的菜单项来执行与被选择对象相关的操作.下面通过一个示例来介绍如何为页面中的一张 ...

  4. C++解析三

    类的构造函数类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行.构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void.构造函数可用于为某些成员变量设置初始 ...

  5. JQuery复制内容到剪切板-jquery.zclip.js的使用,在公司项目中

    公司项目中有一个复制粘贴的内容,也试图找其他插件但都是浏览器兼容问题,在网上找这个插件挺不错的,FLASH,兼容各个浏览器,测试时要在服务器环境下,点击参考,参考这个网址,或者搜下标题这个插件,性能不 ...

  6. UVA 11464 - Even Parity 状态压缩,分析 难度: 2

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  7. jenkins+findbugs+checkstyle+PMD静态代码检查(二)

    可以根据自己的需求选中对应的插件进行配置(不一定非要同时配置三个插件) jenkins:持续集成的工具 fundbugs:检测代码静态错误的插件  例如:定义了没有用到的对象,string类型的比较使 ...

  8. selenium(七)webdriverwait,高级等待,替代sleep

    #coding=utf-8 from selenium import webdriver from selenium.webdriver.common.by import By from seleni ...

  9. 每天CSS学习之transform-origin

    在上一篇中,我们学习了如何使用transform来进行2D变形.今天要讲述的transform-origin与这个变形有关. origin翻译过来的意思是原点.开端.transform-origin寓 ...

  10. Cracking The Coding Interview3.3

    //Imagine a (literal) stack of plates. If the stack gets too high, it might topple. Therefore, in re ...