#373. 网络连接(改)

    ID: 373 传统题 文件IO:network 1000ms 256MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>语言入门字符串基础算法模拟T1

网络连接(改)

题目描述

计算机的 IP 地址是一个数字串,一个符合规范的地址串应当具有以下特征:

  1. 必须形如 a.b.c.d:e 的格式,其中 aa, bb, cc, dd, ee 均为非负整数;
  2. 0a,b,c,d255,0e655350 \le a, b, c, d \le 255, 0 \le e \le 65535
  3. aa, bb, cc, dd, ee 均不能含有多余的前导 00

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

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

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

本题将给你若干个地址串,你需要判断每个地址串是不是合法的地址串,如果是合法的地址串。请你报告出 a,b,c,d,ea,b,c,d,e 分别是多少。否则报告该地址串不合法。

输入格式

11 行,一个正整数 qq

接下来 qq 行,每行 11 个地址字符串 adad

输出格式

输出一共输出若干行,如果地址串是非法的,直接输出 No 并换行。

否则打印 Yes,并输出五个整数 a,b,c,d,ea, b,c,d,e 分别对应地址串的四个数字。

3
192.168.1.1:8080
192.168.1.1:80
192.168.1.1:99999
Yes
192 168 1 1 8080
Yes
192 168 1 1 80
No

样例 1 解释

地址串 33 的第四个数字超过了 6553565535 因此不合法。

2
192.168.1.1.8080
192.168.1.1:8080
No
Yes
192 168 1 1 8080
10
207.231.221.77:51007
79.243.216.144:13350
58.119.187.226:51586
247.150.225.186:5558
100.248.83.30:3352
98.78.97.34:59089
243.9.80.71:15160
178.5.220.233:17605
100.248.83.30:3352
98.78.97.34:59089
Yes
207 231 221 77 51007 
Yes
79 243 216 144 13350 
Yes
58 119 187 226 51586 
Yes
247 150 225 186 5558 
Yes
100 248 83 30 3352 
Yes
98 78 97 34 59089 
Yes
243 9 80 71 15160 
Yes
178 5 220 233 17605 
Yes
100 248 83 30 3352 
Yes
98 78 97 34 59089 

数据范围

测试点编号 nn\le 特殊性质
11 1010 性质 11
232\sim 3 100100
454\sim 5 10001000
686\sim 8
9119\sim 11
121312\sim 13 无特殊性质
141514\sim 15
161716\sim 17
182018\sim 20
  • 性质 11:保证所有的地址串均符合规范;

对于 100%100\% 的数据,保证 1n10001 \le n \le 1000