Problem 2529 --ACM之字符串:版本依赖

2529: ACM之字符串:版本依赖

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $104$ 正确数量 $23$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签 字符串
在项目开发的过程中,会经常使用别人打包好的项目以简化工作。别人的项目也有它们的版本号,我们所依赖的项目需要对其版本号进行一些限制,所以项目的根目录一般会有一个文件存储该项目的依赖情况,以便程序员主动解决依赖问题,或者由某些包管理工具自动下载正确的依赖。现在给你某个项目的依赖,以及当前电脑里已经存在的项目的版本号的列表,问你当前依赖是否存在问题依赖文件每行代表一个依赖,由依赖名称,依赖关系,依赖项目的版本号三部分组成。依赖名称只由小写字母组成,名 称最长为10个字母。依赖关系为'==','<','>','<=','>='这五种的某 一种,版本号由三部分组成格式为:<主版本号>.<次版本号>.<修订版本号>,如1.0.0,版本号为非负整数且小于100。

两个版本号的比较,依次根据主版本号,次版本号,修订版 本号之间的数字大小关系来确定两个版本号的大小关系。
如某个项目A的依赖如下:
apple==1.0.0
banana>=2.3.3
celery<4.0.0
这表示A项目依赖于apple,banana,celery这三个项目,对其 分别的要求是:apple的版本号必须为1.0.0,banana的版本号 至少为2.

第一行输入 正整数 T,表示数据的组。
每组数 据中,第一行是一个正整数n,表示该项目的依赖个数。之后紧跟着 n行,每行的格式由依赖名称、依赖关系、版本号三部分组成。然后是一个正整数 m,表示电脑里已经存在的项目个数。在这之后又有 m行,每行分成两个部分,第一部分为项目名称,第二部分为项目版本号,这两部分用空格隔开。
对于每行数据, 先输出 格式为 格式为 'Case t: ',如果存在版本依赖问题,输出所有需要升级或者安装的依赖名称,用空格隔开 。若不存在版本依赖问题,则输出 OK 。
3
3
apple==1.0.0
banana>=2.3.3
celery<=14.20.03
3
apple 1.0.0
banana 2.3.3
celery 3.4.15
1
apple==1.0.0
1
banana 3.0.0
3
banana>2.3.3
celery>=3.4.2
egg==1.0.0
4
apple 1.0.0
banana 2.3.3
celery 3.4.15
egg 0.10.10
Case 1: OK
Case 2: apple
Case 3: banana egg

推荐代码 查看2529 所有题解 上传题解视频得图灵币

本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
算法最快[$0 $ms] yaoking 613533 2020-09-30 19:52:13
内存最少[$1120 $KB] 7oby 429278 2019-05-16 13:26:04
第一AC AOJ大管家 246915 2018-05-16 21:53:13
第一挑战 计爱玲 246815 2018-05-16 20:33:42

赛题来源/所属竞赛 2017年“华信智原杯”安徽省大学生程序设计大赛 N/A

竞赛编号 竞赛名称 竞赛时间 访问比赛
1645 安科ACM集训队-2021(1)数据结构字符串,基础数据结构专题 2021-05-01 10:00:00 请登录
1351 大学生程序设计大赛模拟赛4 2019-05-16 09:00:00 请登录
1332 图灵2019五一高级算法集训营:数据结构字符串、基础数据结构、专题 2019-05-02 09:00:00 请登录