华为CodeCraft2017算法结果检查工具(包含测试用例展示)

来源:互联网 发布:cassandra数据库下载 编辑:程序博客网 时间:2024/06/05 21:12

这个是华为CodeCraft2017算法结果检查工具(包含测试用例展示),初衷是为本人所在参赛组写一个算法结果检查和寻找问题的工具。在此跟大家分享:网站地址

先贴两张效果图:
这里写图片描述
上图:展示测试用例

这里写图片描述
上图:检查算法结果,并给出原因

这里写图片描述
上图:如果算法结果正确,计算出总费用和基本费用。基本费用是在每一个消费节点相邻的网络节点上部署服务器的总费用。

上面几张图片基本展示了本工具所有的功能。总结如下:
1. 导入测试用例数据文件,点击展示case按钮,即可展示网络节点和消费节点的关系。
2. 同时导入测试用例文件和算法结果文件,点击检查结果按钮,如果结果没问题,就显示总费用和基本费用;如果有问题,就会显示出问题的原因。
3. 支持测试用例重边问题的检查。所谓重边,就是case中有多次出现源节点和目的节点相同的情况。这种情况本不应该出现的。

使用到了:javaEE+Spring+SpringMVC+Echarts+JS

源码:https://github.com/liangyihuai/DataShowOfCodeCraft

程序输入与输出规则

输入文件格式
程序输入为一个以空格分隔的文本文件,文件每行以换行符(’\n’ 或者 ‘\r\n’)为结尾。

文件格式为:
网络节点数量 网络链路数量 消费节点数量
(空行)
视频内容服务器部署成本
(空行)
链路起始节点ID 链路终止节点ID 总带宽大小 单位网络租用费
…………….(如上链路信息若干行)
(空行)
消费节点ID 相连网络节点ID 视频带宽消耗需求
…………….(如上终端用户信息若干行)
(文件结束)
说明:
1. 网络节点ID与消费节点ID均为以0为起始的整数。
2. 文本中出现的所有数值均为大于等于0的整数,数值上限为100000。
输入文件示例(参照第一节中的用例):

28 45 12 // 注:28个网络节点,45条链路,12个消费节点100 // 注:服务器部署成本为1000 16 8 2 // 注:链路起始节点为0,链路终止节点为16 ,总带宽为8,单位网络租用费为20 26 13 20 9 14 20 8 36 2(以下省略若干行网络节点信息)0 8 40 // 注:消费节点0,相连网络节点ID为8,视频带宽消耗需求为40 1 11 132 22 283 3 454 17 115 19 266 16 157 13 138 5 189 25 1510 7 1011 24 23

输出文件格式
程序输出为一个以空格分隔的文本文件,文件每行以换行符(’\n’ 或者 ‘\r\n’)为结尾。
文件格式为:
如果不存在满足条件的方案,则输出一行
NA
(文件结束)
如果存在满足条件的方案,则按如下格式输出:
网络路径数量
(空行)
网络节点ID-01 网络节点ID-02 …… 网络节点ID-n 消费节点ID 占用带宽大小
…………….(如上网络路径信息若干行,每条网络路径由若干网络节点构成,路径的起始节点ID-01表示该节点部署了视频内容服务器,终止节点为某个消费节点)
(文件结束)
说明:
1. 网络路径数量不得超过50000条。
2. 单条路径的节点数量不得超过1000个。
3. 不同网络路径可按任意先后顺序输出。
4. 网络节点ID与消费节点ID的数值必须与输入文件相符合,如果ID数值不存在于输入文件中,则将被视为无效结果。
5. 文本文件中出现的所有数值必须为大于等于0的整数,数值大小不得超过100000。
输出文件示例(参照第一节中的用例部署方案):

19 // 注:共输出19条网络路径0 9 11 1 13 // 注:起始网络节点ID为0,经由ID为9、11等网络节点到达消费节点1,占用带宽为130 7 10 100 8 0 360 6 5 8 13(以下省略网络路径若干行)
0 0
原创粉丝点击