在本题中,我们需要处理地址信息,其由 IP 地址和子网掩码组成,这两者均形如 ,由四段数字组成(每一个 表示一个数字),每一段的数字均为 到 之间的一个整数,每段数字之间以点分隔。 我们定义五类 IP 地址: A 类:; B 类:; C 类:; D 类:; E 类:。 我们定义私有 IP 地址: ; ; 。 我们定义合法的子网掩码为:将掩码的每一段数字依次转换为八位长度的二进制字符串并进行拼接,这个字符串必须由若干个连续的 后跟若干个连续的 组成,才视为子网掩码合法。例如,掩码 转换拼接得到字符串 ,显然不合法;掩码 转换拼接得到字符串 ,合法。注意,全为 或全为 的掩码也视为非法。 我们定义错误的 IP 地址和错误的子网掩码为不符合上述定义的 IP 地址和子网掩码。例如,格式错误、数字超出范围等等。 现在,你需要分类统计 A、B、C、D、E 类地址的数量、错误 IP 或错误子网掩码的数量、私有 IP 的数量。 特别地: 类似 和 的 IP 地址不计入任何类别,也不计入非法统计,直接跳过; 一个 IP 既可计入私有 IP,也可计入五类地址之一,二者分别累计。
输入描述:
本题将会给出 条地址信息,确切数字未知,您需要一直读取至文件结尾;您也可以参考 牛客网在线判题系统使用帮助 获得更多的使用帮助。每条地址信息描述如下:每行输入一个 形式的 IP 地址和一个 形式的子网掩码,中间用波浪线()分隔。保证 要么为空,要么是一个 到 间的整数。
输出描述:
在一行上输出七个整数,分别代表 A 类地址数、B 类地址数、C 类地址数、D 类地址数、E 类地址数、错误 IP 或错误子网掩码数、私有 IP 数。
示例2
输入
0.201.56.50~255.255.255.0
127.201.56.50~255.255.111.255
说明
在这个样例中,两条地址信息均属于上方提示中提到的特殊 IP 地址,不需要处理,直接跳过。特别需要注意地,第二条地址的子网掩码是非法的。但是因为该条为特殊 IP 地址,此优先级更高,所以不进入统计。
备注:
本题已于下方时间节点更新,请注意题解时效性:1. 2025-05-30 更新题面。2. 2024-12-16 更新题面。
加载中...