U143306.版本号校验

普及-

COCI

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

题目背景

Mojang 版本号体系丰富多样,涵盖了从远古到现代的各个时期。ALEX今天需要校验一系列版本号是否格式合法,并且是否按字典序严格递增,她请你来帮助她

合法版本号定义

一个版本号合法,当且仅当满足以下条件之一:

1. 远古版

  • Alpha 版:以 a 开头,后跟数字,例如 a1.0.0a1.2.5
  • Beta 版:以 b 开头,后跟数字,例如 b1.7.3b1.8.1

2. 正式版

格式为 主版本.次版本主版本.次版本.修订号,数字无前导零(单独的 0 允许)。
例如:26.126.1.226.226.31.0

3. 传统快照

格式为 YYwWWx,其中 YY 为两位年份,WW 为两位周数,x 为小写字母。
例如:23w18a24w14a
无版本限制,任何合法格式均通过。

4. 预发布版 / 候选版

  • 预发布:26.2-pre126.2-pre-2
  • 候选版:26.2-rc126.2-rc-2
    无版本限制,任何合法数字均可。

5. 语义化快照

格式为 x.y-snapshot-Nx.y.z-snapshot-N
重要限制:仅当 x.y 满足 x > 26(x == 26 && y >= 1) 时合法。
例如:

  • 26.1-snapshot-1
  • 26.1.2-snapshot-1
  • 26.2-snapshot-5
  • 26.0-snapshot-1
  • 1.20-snapshot-1

6. 愚人节版本(特殊判定)

以下版本号直接判定为合法,不经过任何格式检查:

  • 26w14a
  • 25w14craftmine
  • 23w13a_or_b
  • 22w13oneblockatatime
  • 20w14∞
  • 2.0
  • 1.RV-Pre1
  • 22w13oneBlockAtATime
  • 23w13AOrB

除上述版本号外,任何其他字符串均不享受此特殊判定。

顺序规则

所有版本号统一按 字典序 比较,要求严格递增。

输入格式

输入格式

第一行一个整数 n1 ≤ n ≤ 10^5)。
接下来 n 行,每行一个版本号字符串。

输出格式

输出格式

  • 全部合法且严格递增 → 输出 OK
  • 否则输出第一个错误的行号和原因:
    • Line X: Invalid format
    • Line X: Out of order

输入输出样例

  • 输入#1

    6
    a1.0.0
    b1.7.3
    26.1
    26.2
    26.3
    26.3.1

    输出#1

    OK

说明/提示

数据范围与约定

  • 1 ≤ n ≤ 10^5
  • 每个版本号长度不超过 50
  • 所有字符均为可见 ASCII 字符(不含空格),但可能包含特殊字符(如
  • 时间限制:1s
  • 内存限制:256MB

输入解题思路,AI测评打分。不知道怎么写?

首页