AlgoMooc
← 返回题库

K0058. 魔法网络之IP地址转换

中等通过率 37% · 提交 146 · 通过 54
字符串模拟排序枚举

小慕在搭建自己的网络项目时,遇到了一些特殊的IP地址。每个IP地址由四段数字组成,每一段数字有三种特殊的表现形式。 第一种表现形式:正常整数形式 例如,`9.18.27.36`,表示这是一个正常的整数。 第二种表现形式:,用 `[]` 括起 例如,`9.18.27.[34,36]`,表示这一段IP地址可以展开为多个IP地址,从 `34` 到 `36`,即:`9.18.27.34`、`9.18.27.35`、`9.18.27.36`。 第三种表现形式:,用 `{}` 括起 例如,`9.18.27.{36,45}`,表示这一段IP地址可以是 `36` 或 `45`,即:`9.18.27.36` 和 `9.18.27.45`。 小慕需要将这些特殊的IP地址字符串转换成标准的IP地址形式,并按升序排列输出。每个分量的字典序应按照数字的大小进行排序。例如: - `19.255.0.0` 大于 `19.6.0.0`,因为 `255` 大于 `6`。 注意:输出结果的数量不会超过10000个。

提示:带虚线的词点一下有通俗解释。

输入描述

- 输入一个IP地址字符串,包含四段,每段可能包含上述三种表现形式之一。

输出描述

- 输出所有合法的IP地址字符串,按字典序升序排列,每行输出一个IP地址。

示例

示例 1

输入

9.18.27.36

输出

9.18.27.36

示例 2

输入

9.18.27.[34,36]

输出

9.18.27.34
9.18.27.35
9.18.27.36

示例 3

输入

9.18.27.{36,45}

输出

9.18.27.36
9.18.27.45

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。