华为code craft软件精英赛笔记-如何在Linux下利用提供的shell文件生成tar.gz赛题提交压缩包

原创 2017年03月07日 10:50:59

以下内容摘抄自readme.txt:

看到中文readme是一件非常亲切的事情!仔细看完此文档即可完成第一个用例:

1、整体指引:
  1)使用一键式脚本编译后打包;
  2)如果编译成功会在bin路径下生成可执行二进制文件"cdn.jar";
  3)使用如下格式调用并调试程序,例如:
	Linux环境:		root> sh startup.sh /xxx/topo.txt /xxx/result.txt
	(说明:topo.txt是输入文件,result.txt是输出文件)
  4)将代码与makelist.txt打包压缩到同一个压缩包下,压缩包格式为tar.gz,即可上传答案。
  cdn.tar.gz
    └── code/
    └── makelist.txt

2、SDK目录结构:
├─bin/				 										二进制文件路径
│		└── cdn.jar								可执行的jar文件,由一键式打包脚本生成
│		└── startup.sh										Linux环境一键式执行脚本
├─code/														源代码路径
│	└── cdn/
│		├── bin/												编译后创建的class文件
│		└── src/												java源代码路径
│				└─com/
│					├─filetool/
│					│	├─main/
│					│	│		Main.java						main函数源文件,不可修改
│					│	└─util/
│					│			FileUtil.java				提供读写文件等功能的源文件,不可修改
│					│			LogUtil.java				提供日志记录功能的源文件,不可修改
│					└─cacheserverdeploy/
│						└─deploy/
│								Deploy.java					你要写代码的源文件,需要修改
├── build.sh												Linux环境编译打包脚本,不可修改
├── makelist.txt										需要编译的java文件,供脚本调用
├── cdn_tar.sh								答案提交打包脚本,生成cdn.tar.gz
└── readme.txt											你正在看的文件 -_-" 这不用介绍了吧
	注意:
	1)如果增加了源文件需要修改makelist.txt文件;
	2)如果运行时提示
startup.sh文件第14行错误,请按照你本地系统情况修改此行,此脚本只是用来方便调用,修改后不会影响在判题平台的判题。

3、SDK代码说明:
  我们已经提供了保姆式的服务,你只需要做:
  1)完成Deploy.java文件中的XXX方法;
  2)返回结果并输出;
  3)如果计算结果为没有路径,则直接输出NA。
  SDK已经实现了读取文件、按要求格式写文件以及打印开始和结束时间的功能。为了便于调试,SDK将读入的信息全部在屏幕输出,可根据自身的需要酌情删除此打印信息。
  注意:读取文件功能是指,将图的信息文件和路径信息文件按行读取到内存,其在内存中的存储格式仍是字符串格式。因为这些信息以什么格式存储涉及到算法设计,这样做是为了不禁锢你的思路。
  
4、重要提示:
  复赛和决赛阶段不再提交可执行二进制文件,而是直接提交你修改和增加的代码源文件,在判题服务器端执行编译。因此需要特别注意:
  1、必须基于本SDK开发,否则会编译不过;
  2、在SDK的源文件中,只有Deploy.java和makelist.txt文件允许修改,其他文件在编译前会统一使用官方SDK版本的文件替换;
  3、建议使用cdn_tar.sh脚本打包压缩文件,保证压缩文件目录结构正确;
  4、请使用jdk1.7版本进行开发。

可以看到,我们需要做的很简单,就是把Deploy.java的内容替换成我们想要的内容,注意返回给Main.java一个赛季结果的字符串,如果没有结果,就输出一个"NA",然后利用cdn_tar.sh进行打包,运行命令就是cd到SDK-java目录下,然后
bash ./cdn_tar.sh
注意,好像华为的哥哥们是在windows环境下编辑的这个sh文件,所以在Linux环境下可能会出现/bin/bash^M 没有这个目录的问题,这是因为目前的编辑代码格式还是DOS下的文本格式,大家可以验证一下:

vim cdn_tar.sh
:set ff?
如果出现fileforma=dos那么就基本可以确定是这个问题了。
:set fileformat=unix
:wq
然后再bash这个shell文件,问题完美解决,在这个目录下会生成一个cdn.tar.gz的文件,接下来就可以愉快的提交了。

版权声明:本文为博主原创文章,转载请注明出处

相关文章推荐

Linux下常用软件安装(tar bz gz等压缩包的压缩和解压)

1) chromium-browser sudo apt-get install chromium-browser   2) google-chrome a)  sudo vi  /etc/a...
  • undoner
  • undoner
  • 2012年10月05日 15:37
  • 1277

Linux下tar bz gz zip rar 等压缩包的压缩和解压

[转帖] http://soft.zdnet.com.cn/software_zone/2007/1009/542973.shtml 这是网上提供的方法: .tar.gz 解压:tar zxvf...

Linux下tar bz gz等压缩包的压缩和解压

原文出处:阳光岛主 http://blog.csdn.net/ithomer/article/details/5918185 Linux下用户经常需要备份计算机系统中的数据,为了节省...

Linux下tar bz gz等压缩包的压缩和解压

大致总结了一下linux下各种格式的压缩包的压缩、解压方法。但是部分方法我没有用到,也就不全,希望大家帮我补充,我将随时修改完善,谢谢!解压就用得挺熟的了,突然不知道怎样压缩。。。惭愧。。  这是网上...

Linux下tar bz gz等压缩包的压缩和解压

大致总结了一下linux下各种格式的压缩包的压缩、解压方法。但是部分方法我没有用到,也就不全,希望大家帮我补充,我将随时修改完善,谢谢! 解压就用得挺熟的了,突然不知道怎样压缩。。。惭愧。。...

华为软件精英赛

  • 2017年03月06日 21:14
  • 737KB
  • 下载

德州扑克AI简介——2015华为软件精英赛小结

经历一个月的奋斗,前天终于提交代码!持续了一个月的赛事终于暂时性的落下帷幕。回想起来,这个也算是一个不错的经历,也有必要写一段文章纪念一下。本篇文章将分为如下四个部分:德州扑克AI简介、德州扑克出牌策...

华为精英赛赛2016代码和用例

  • 2016年05月15日 16:25
  • 289KB
  • 下载

华为生态伙伴精英赛收官,听听“冠军们”怎么说

从今年7月启动以来,“ΣCO-Discovery”华为生态伙伴精英赛2017历时三个月,吸引近千家华为的合作伙伴、4500多名合作伙伴员工,以及2600多名华为员工参赛,并首次将比赛内容设置为“3+6...

linux下tar gz bz2 tgz z 压缩文件的解压方法

linux下tar gz bz2 tgz z等众多压缩文件的解压方法 本文是为了方便而对http://hi.baidu.com/sillyboy/blog/item/3802b600174d768fe...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:华为code craft软件精英赛笔记-如何在Linux下利用提供的shell文件生成tar.gz赛题提交压缩包
举报原因:
原因补充:

(最多只允许输入30个字)