http://acm.scu.edu.cn/soj/problem.action?id=1103

可以写的更简洁干练一点,不过太麻烦,懒得改,备注一下吧,防止以后忘记

#include<cstdio>
#include<cstring>
using namespace std;
char str[40];
int main()
{while(~scanf("%s",&str)){int count = 0;int flag = -1;int len = strlen(str);for(int i = 0; i < len; i++){if(str[i] == '.'&& i != 0)            //防止第一位就是.  比如.1.2.3.4{if(str[i-1] > 57 || i-flag > 4)   //数字每一位最大为9, 9+'0' = 57,所以如果 > 57 则为字母break;                        //当数字很大溢出会小于题目给的255,比如1.1.1.4294967297 100000000000.2.3.4,所以直接用位数判断很方便int k = 1;int sum = 0;int ok = 0;for(int j = i-1; j > flag; j--){sum += (str[j]-48)*k;k = 10*k;ok = 1;if(sum > 255) break;//printf("2::::%d %d %d\n",i,j,sum);}if(sum!= 0 && sum == sum-(str[flag+1]-48)*k)     //判断首位是不是0开头但不全是0,比如 01.2.3.4 不可以,1.2.3.4 可以break;if(sum <= 255&&sum >=0 && ok){count++;//printf("3::::%d %d \n",sum,count);}elsebreak;flag = i;}}int k = 1;int sum = 0;int ok = 0;for(int i = len-1; i >= flag+1; i--)                 //最后一个点之后也要判断,没有值或者字母或者溢出都要判断{if(len-flag > 4 || str[i] > 57) break;sum += (str[i]-48)*k;k = 10*k;ok = 1;}if(sum <= 255&&sum >=0) count++;if(count == 4 && ok)                                //一共四个点printf("YES\n");elseprintf("NO\n");}return 0;
}

真的是烦,很简单的一道题,还是多亏了discuss里面各位大神给出的测试数据了,跪了跪了

soj1103:IP判断_情况巨多的水题相关推荐

  1. 公网ip判断_银行客户生产网和办公网知识共享网络部署方案

    往期回顾: 当我们谈知识管理项目实施时是在谈什么? 如何在其他系统内获取知识库的知识? 企业知识库产品采购与自主研发的优势对比 大家好,不知不觉周末"嗖"一下过去了,周一到了,大家 ...

  2. 判断字符串是否是手机号码(水题模拟)

    题目描述 手机号码是一串数字,长度为11位,并且第一位必须是1,现在给出一个字符串,我们需要判断这个字符串是否符合手机格式. 输入 多组测试数据.每组数据输入一个字符串. 输出 若该字符串符合手机号码 ...

  3. java 雷达反射面积_请问:如何使用基本反射率雷达图中的dBZ值判断天气情况?比如多云、雷雨、晴等。谢谢!...

    请问:如何使用基本反射率雷达图中的dBZ值判断天气情况?比如多云.雷雨.晴等.谢谢!以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来 ...

  4. IP判断(ssscanf()函数)

    问题 1116: IP判断 时间限制: 1Sec 内存限制: 128MB 提交: 1804 解决: 698 题目描述 在基于Internet的程序中,我们常常需要判断一个IP字符串的合法性. 合法的I ...

  5. PYTHON练习题---IP判断

    IP判断 描述 在基于Internet的程序中,我们常常需要判断一个IP字符串的合法性. 合法的IP是这样的形式:A.B.C.D 其中A.B.C.D均为位于[0, 255]中的整数. 为了简单起见,我 ...

  6. php定位和天气,基于thinkphp实现依据用户ip判断地理位置并提供对应天气信息的应用...

    基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用 我们都知道,在很多的网站都提供了给用户提供天气预报的功能,有时会发现,用户即使不输入任何和自己有关的地理位置信息,同样的网站也 ...

  7. php定位和天气,基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用_PHP教程...

    基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用 我们都知道,在很多的网站都提供了给用户提供天气预报的功能,有时会发现,用户即使不输入任何和自己有关的地理位置信息,同样的网站也 ...

  8. linux检查网络是否通畅_Shell脚本实现检测某ip网络畅通情况(含短信报警功能)

    花了1天的时间写了一个检测某ip是否网络畅通的脚本,只检测网络是否畅通的功能很容易实现,但加了一些限制功能却不好实现. 复制代码 代码如下: #!/bin/bash ################# ...

  9. php定位和天气,基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用...

    我们都知道,在很多的网站都提供了给用户提供天气预报的功能,有时会发现,用户即使不输入任何和自己有关的地理位置信息,同样的网站也可以去判断地理位置并且显示天气信息,我们可能会想到用ip去判断地理位置,的 ...

最新文章

  1. 发布:IE自动打印插件
  2. JQuery 获取节点
  3. LiveVideoStackCon2019北京 八月再聚
  4. [Windows编程] 通过GetModuleHandleEx 得到函数调用者所在的DLL/EXE 原创陈本峰2009-02
  5. 【Qt教程】1.7 - Qt5带参数的信号、信号重载、带参数的槽函数、槽函数重载
  6. matlab中的count函数,Excel 中COUNT函数的使用详解,详情介绍
  7. 机器学习深度学习视频资料大汇总
  8. opencv的lena项目,用android studio 3.6可以运行——drawable如何引入lena图片
  9. 奈学教育CEO孙玄:成为一个有情怀的工程师,我的12点思考
  10. BCH分叉是一次站队博弈
  11. 手写简易版spring MVC框架
  12. 战国李悝的“识人五法
  13. 前端八股文,https、跨域、闭包、原型链,布局、防抖节流等
  14. 常见前端九十道面试题及答案-韩烨
  15. 为什么国外服务器域名备案可以不进行?
  16. JavaScript前台判空
  17. 紫晶存储研发核心成员离职,不受影响是真的么?
  18. 「硬见小百科」一文读懂电子元器件
  19. MindManager中文版免费下载使用序列号V20.0.334
  20. 1.什么是Spark

热门文章

  1. MyBatis多表关联查询
  2. python自动发送163邮箱,带附件与不带附件
  3. Ubuntu上配置opencv的详细步骤
  4. 如何恢复硬盘上被误删的文件?
  5. Win7系统电脑关机没反应的解决办法
  6. Invalid prop `component` of type `object` supplied to `Route`, expected `function`
  7. APIJSON教程:上手apijson项目,学习apijson语法,并实现持久层配置
  8. 如何解决Chrome插件安装时出现的“.crx程序包无效”问题
  9. 在Linux下用tftp刷写路由器固件
  10. application.properties 和application.yml