在魔法学院中,小慕正在整理法术版本库,每个法术版本由一个 表示,每个字符串由点号分隔的若干整数段组成,例如:`主版本.次版本.补丁版本`。新版本的能量通常高于旧版本,为提升法术效果,小慕需要统计现有版本中哪些需要升级到指定的目标版本或更高版本。 版本比较规则: 1. 版本号按主版本、次版本、补丁版本的顺序。 2. 如果指定版本的某个段高于现有版本的对应段,则该现有版本需要升级。 3. 如果现有版本的某个段不存在, 参与比较。
提示:带虚线的词点一下有通俗解释。
输入描述
- 第一行包含一个整数 `n`,表示现有版本的数量,满足 $1 \leq n \leq 10^4$。 - 接下来 `n` 行,每行一个字符串,表示现有的魔法版本 `currentVersions`。 - 最后一行输入一个字符串 `targetVersion`,表示目标版本。 版本字符串的格式: - 每段由非负整数组成,数值范围为 $0 \leq \text{整数值} \leq 10^9$。
输出描述
输出一个整数,表示需要升级到目标版本的现有版本的数量。
示例
示例 1
输入
4 100.200 100.200.1 100.50 100.200.3 100.200.2
输出
3
说明:需要升级的版本如下: - `"100.200"`:目标版本 `100.200.2` 的补丁版本高于现有版本。 - `"100.200.1"`:目标版本 `100.200.2` 的补丁版本高于现有版本。 - `"100.50"`:目标版本 `100.200.2` 的次版本高于现有版本。 版本 `"100.200.3"` 已经高于目标版本,不需要升级。
示例 2
输入
4 1.0.0 1.2 0.9.9 1.0.1 1.1
输出
3
时间限制 1000 ms · 内存限制 128 MB