#12. 25年6月-华为实习-1.多断数据下发

题目描述
题解
题库

25年6月-华为实习-1.多断数据下发

题目描述

在数通设备进行配置下发时,可能会遇到需要下发一个或多个数据段的场景。例如在配置某协议支持的算法类型时,需要下发配置。

如 “algorithm 1−10,15−20",用于表明支持的所有算法段范围为 "1−10,15−20"。

为了简化用户操作,数据下发往往同时支持散列及段下发模式,同时对数据段的顺序不做要求,也即允许"algorithm 1−9,10,17−20,15−15”的方式。下发后的数据会整理合并保存在数据库中,合并结果满足以下条件:

1.数据段无法继续合并。

2.数据段从小到大排列。

3.长度为 1 的数据段保存为单个数字形式。

举例来说,"algorithm 1−9,10,17−20,15−15"下发后数据库中储存的数据为“1−10,15,17−20"。

数据合并规则:

  • 在数据库已有数据的情况下,用户新下发的配置不会覆盖已有配置,而是将新增的数据段命并到已有数据中
  • 例如:数据库中已存在”1−10,15−20"时,再下发"algorithm 5−11"时数据库数据会命并更新为"1−4 , 15−20"。 数据删除规则:

用户下发删除配置时,从已有范围中删除与下发范围重合的范围

例如:数据库中巴标在”1−10,15−20"时,再下发"undo algorithm 511,16"时,数据库会更新为"1−4,15,17−20"。 任务:给定一系列配置/删除操作,输出最后的数据库更新结果。

输入描述

第一行为 1 个整数 n ,表示下发操作的数量,n<=100 接下来 n 行每行包含 1 个字符串,表明下发的配置/删除操作。配置操作格式为"algorithm 数据",删除操作 "undo algorithm 数据",数据格式如下所示。

字符串数据格式描述:

1.原子数据,单个正整数(“a”)、正整数-正整数("a−b"),其中 a<=b ,每个数的范围为 1−65536

2.字符里组成由原子数据拼接 “,” 组成 ("a−b,c,d−e")

注: 1.用例保证所有输入均合法,输入不保证原子数据排序 2.原子数据段的数量不超过 100 3.数据库中数据为空时,删除操作视为无效操作

输出描述

1 个字符串,表明合并保存后的数据库结果。数据格式与输入中描述字符串数据格式相同。 若最终数据库为空,输出 0

样例1

2
algorithm 1-10,15-20
algorithm 5-11
1-11,15-20

说明

数据库初始为空

配置 algorithm 1−10,15−20=>1−10,15−20

配置 algorithm 5−11=>1−11,15−20

样例2

3
undo algorithm 1-100
algorithm 15-20,1-10
undo algorithm 6,7,8,9-10
1-5,15-20

说明

数据库初始为空

配置 undo algorithm 1−100=>无效,仍为空

配置 algorithm 1−10,15−20=>1−10,15−20

配置 undo algorithm 6,7,8,9−10=>1−5,15−20