AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

K0003. 升级法术包

中等通过率 73% · 提交 135 · 通过 98
字符串模拟数学

在小慕的项目管理中,每个软件版本的标识由 主版本号、次版本号 和 补丁版本号 组成,格式如下:


主版本号.次版本号.补丁版本号

- 主版本号 必须存在,表示项目基础架构的稳定性。 - 次版本号 必须存在,表示项目新增的功能模块。 - 补丁版本号 可以省略,若省略则默认视为 `0`,表示修复的小问题。 版本比较的优先级依次是:主版本号 > 次版本号 > 补丁版本号。 升级路径规则:从 当前版本 升级到 新版本 的路径必须满足以下条件: 1. 必须保持不变(主版本号、次版本号、或补丁版本号)。 2. 新版本的版本号必须严格大于当前版本号。 小慕需要统计从当前版本升级到新版本的 的数量。

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

输入描述

第一行输入一个整数 `n`,表示共有 `n` 对版本信息,`1 <= n <= 10000`。 接下来的 `n` 行,每行包含两个字符串,分别表示当前版本 `current_version` 和目标新版本 `new_version`,两个版本号之间用空格分隔: ``` current_version new_version ``` 每个版本号的格式为 `主版本号.次版本号.补丁版本号`,所有段均为非负整数,且值不超过 100。如果省略补丁版本号,则默认视为 `0`。

输出描述

输出一个整数,表示符合 **有效升级路径** 的个数。

示例

示例 1

输入

3
1.0 2.0
1.0.1 1.0.1
2.1.0 2.1.1

输出

1

说明:- `1.0 -> 2.0`:不符合规则。 - `1.0.1 -> 1.0.1`:不符合规则,新版本与当前版本相同。 - `2.1.0 -> 2.1.1`:符合规则。 总计 1 个符合规则的升级路径。

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

看不懂题目?点开图解
版本升级规则图解 当前版本 2.1.0 规则1:首个非零段不变 主版本号2必须相同 规则2:新版本严格大于当前 2.1.1 > 2.1.0 新版本 2.1.1 不符合的例子 1.0 → 2.0(首个非零段不同)
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「升级法术包」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。