IP地址判断

提交数: 267, 通过率: 70.41%, 平均分: 77.34

题目描述:

TCP/IP 协议是网络通信领域的一项重要协议。今天你的任务,就是尝试利用这个协议,判断给定的某个IP地址的正确性。

一个符合规范的地址串应当具有以下特征:

  1. 必须形如 a.b.c.d:e 的格式,其中 a, b, c, d, e 均为非负整数;
  2. 0 ≤ a, b, c, d ≤ 255,0 ≤ e ≤ 65535;
  3. a, b, c, d, e 均不能含有多余的前导 0。

相应地,不符合规范的地址串可能具有以下特征:

  1. 不是形如 a.b.c.d:e 格式的字符串,例如含有多于 3 个字符 . 或多于 1 个字符 : 等情况;
  2. 整数 a, b, c, d, e 中某一个或多个超出上述范围;
  3. 整数 a, b, c, d, e 中某一个或多个含有多余的前导0。

例如,地址串 192.168.0.255:80 是符合规范的,但 192.168.0.999:80192.168.00.1:10192.168.0.1:088192:168:0:1.233 均是不符合规范的。

输入格式:

一个整数n。

接下来n行,每行一个IP地址。

输出格式:

输出n行,每行是一个IP地址的正确性。

如果IP地址正确,输出"yes",否则输出"no"。

数据范围:

\( n \lt 100 \)

样例输入:

5
192.168.1.1:8080
192.168.0.1:80
192.168.1.256:8080
192.168.101.1:80
192.168.1.1:99999

样例输出:

yes
yes
no
yes
no

提示:

注意,其中的数字可能是负数

时间限制: 1000ms
空间限制: 256MB

来源: 原创