这个是华为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,单位网络租用费为2
0 26 13 2
0 9 14 2
0 8 36 2
(以下省略若干行网络节点信息)
0 8 40 // 注:消费节点0,相连网络节点ID为8,视频带宽消耗需求为40
1 11 13
2 22 28
3 3 45
4 17 11
5 19 26
6 16 15
7 13 13
8 5 18
9 25 15
10 7 10
11 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,占用带宽为13
0 7 10 10
0 8 0 36
0 6 5 8 13
(以下省略网络路径若干行)

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

  1. 旧金山大学数据结构和算法的可视化工具

    旧金山大学数据结构和算法的可视化工具,动态展示数据存储和查询: http://www.cs.usfca.edu/~galles/visualization/Algorithms.html

  2. linux c 内存泄露 检查工具

    Linux下编写C或者C++程序,有很多工具,但是主要编译器仍然是gcc和g++.最近用到STL中的List编程,为了检测写的代码是否会发现内存泄漏,了解了一下相关的知识. 所有使用动态内存分配(dy ...

  3. Linux下几款C++程序中的内存泄露检查工具

    Linux下编写C或者C++程序,有很多工具,但是主要编译器仍然是gcc和g++.最近用到STL中的List编程,为了检测写的代码是否会发现内存泄露,了解了一下相关的知识. 所有使用动态内存分配(dy ...

  4. React Native工程中TSLint静态检查工具的探索之路

    背景 建立的代码规范没人遵守,项目中遍地风格迥异的代码,你会不会抓狂? 通过测试用例的程序还会出现Bug,而原因仅仅是自己犯下的低级错误,你会不会抓狂? 某种代码写法存在问题导致崩溃时,只能全工程检查 ...

  5. 代码静态检查工具PC-Lint运用实践

    代码静态检查工具PC-Lint运用实践 如何提交zero bug的产品,如何尽早发现bug,是软件开发工程师和测试工程师都需要思考的问题.我认为高质量的代码是关键,具体实施保障办法有:框架约束,代码评 ...

  6. 华为codecraft算法大赛---寻路

    华为codecraft算法大赛-寻路 前言 最近实验室的师兄师姐们在热火朝天的笔试(都说难难难),我也要了些题来感受了一下,已然被虐的体无完肤.选择题考的内容涉及范围广,算法编程题对于没有刷题经验的我 ...

  7. 玩转Eclipse — 自动代码规范检查工具Checkstyle

    大项目都需要小组中的多人共同完成,但是每个人都有自己的编码习惯,甚至很多都是不正确的.那么如何使小组所有开发人员都遵循某些编码规范,以保证项目代码风格的一致性呢?如果硬性地要求每个开发人员在提交代码之 ...

  8. Jenkins 在 Tomcat 中的部署及代码静态检查工具集成

    Jenkins 的简单部署 在安装了 Jenkins 运行所需的依赖(主要是 JDK)之后,可以通过如下步骤简单快速地部署 Jenkins: 下载 Jenkins. 打开终端并切换至下载目录. 运行命 ...

  9. 介绍一款python类型检查工具pyright

    介绍 近日,微软在 Github 上开源了一个 Python 静态类型检查工具:pyright ,引起了社区内的多方关注. 微软在开源项目上的参与力度是越来越大了,不说收购 Github 这种大的战略 ...

最新文章

  1. Java后端向前端传递数据,挥泪整理面经
  2. 如何访问云端的tcpserver_远程读写FTP文件,花生壳盒子+Serv-U快速实现远程访问...
  3. Visual Studio 快速返回上次浏览/编辑的位置
  4. Gh0st源代码详细剖析
  5. C语言常用字符串操作函数大全详解(strstr,strtok,strrchr,strcat,strcmp,strcpy,strerror,strspn,strchr等)
  6. 在生产环境下处理EFCore数据库迁移的五种方法
  7. 微软企业应用开发三大方向:跨平台、开放/开源与DevOps
  8. 蓝桥杯 n进制小数
  9. 【MyBatis框架】mybatis逆向工程自动生成代码
  10. android联系人添加公司,android添加联系人(直接添加到联系人数据库)
  11. Python基础:文件的操作
  12. putty连上l虚拟机中的linux要点
  13. 关于C#窗体程序dataGridView控件的用法
  14. CPC客户端安装教程
  15. 答粉丝问|火狐浏览器插件简介
  16. ArcGIS中裁剪(clip)出现000117错误的解决办法
  17. 小程序标准版交易组件开启
  18. c语言程序输入与输出函数,C语言printf()和scanf()函数?其实就是输入输出
  19. 刷机后的路由器使用经历
  20. [Swift] 数组恒等 === 的 bug?!

热门文章

  1. java表单 mysql 乱码_java web当中表单提交到后台出现乱码的解决方法
  2. 哪一类功率放大电路效率最高_最简单逆变器电路讲解计算,电工电子动手学技术,电路好案例推荐...
  3. JavaScript是如何工作的:编写自己的Web开发框架 + React及其虚拟DOM原理
  4. 解决 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type的问题...
  5. 《css世界》的那些实用技巧
  6. atitit.jndi的架构与原理以及资源配置and单元測试实践
  7. 字符串字符数组和基本类型的相互转换
  8. jQuery autoComplete 样式
  9. Javascript框架的自定义事件(转)
  10. linux   RedHat AS5(x86_64)安装oracle10g