查看: 719|回复: 9
|
第一期编程比赛 [已结束]
[复制链接]
|
|
- 活动类型:
- 线上活动
- 开始时间:
-
14-3-2019 12:00 PM 至 28-3-2019 12:00 PM 商定
- 活动地点:
- 软件工程
- 性别:
-
不限
- 已报名人数:
-
2 人
- 剩余名额:
-
3 人
- 报名截止:
- 28-3-2019 12:00 PM
-
本帖最后由 褐眼睛 于 28-3-2019 02:34 PM 编辑
压缩 /解压缩“指定图案”
举办人:褐眼睛
宗旨:引进欧洲的编程比赛点子,激发本国编程爱好者的技术。
目的:设计一个程序压缩 “指定图案”(ASCII Art),该程序也必须能够解压缩回同样图案(我会用FC来比对原始图案和解压缩后的图案),如果被压缩的图案在参赛者中为最小则将胜出。
你的成绩呈交的截至日期是本月28日之前,如果没有竞争者,奖金将会自动颁发给唯一的参赛者。
如果有多位参赛者的成绩是相同的,奖金将会被平分。
条件:
1)程序可以是任何平台开发出来的,但是不能使用第三方压缩/解压缩工具。
2)程序可以压缩 和 解压缩“指定图案”。
3)程序只需针对“指定图案”而设计出
4)程序里面不可非法含有属于“指定图案”的任何部分
5)程序大小与快慢不重要,但是必须能够完成压缩 /解压缩
赏金:50元 x 一份
参赛方式:
1)上传(并粘贴链接)你的已压缩的程序可执行文件(如EXE)上来
2)比赛结束后,请再出示你的源代码已方便核实
志在玩一玩,欢迎各位参与!
下载“指定图案”:http://kangfuzhe.org/forum.php?m ... DkyfDIwNzM5fDI5MjIw
(如果你打开CARI.txt,你会发现“指定图案”是由许多符号拼成的黑马)
|
已通过 (2 人)
|
留言 |
申请时间 |
phpwebcoder
|
016-5542106
alvin yew |
25-3-2019 10:13 AM |
nsda
|
沒有玩過 多多指教! |
14-3-2019 04:41 PM |
|
|
|
|
|
|
|
发表于 15-3-2019 12:36 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 15-3-2019 04:51 PM
|
显示全部楼层
本帖最后由 martinng 于 15-3-2019 04:56 PM 编辑
这个利用LZW 算法,已经可以得到2696 bytes。这个2696是来自1348x2。因为LZW产生的table size是1478个,就是mapping index 时需要用16 bit word。
我也计算过,共有325个少于256 的index。如果有办法分辨16 bit 和8 bit的index,那么最终结果就是 2696 - 325 = 2371。就可以打赢C#了。我还在想着如何分辨,然后写 解码器。LZW 编码容易,解码就麻烦点。
P/S:winrar 用最best的ratio,是2392 bytes,而且人家还有固定档头。所以更加厉害。应该是用GZip的Deflate algorithm。加强版LZW - LZ77,shifting填补空档bits(滑窗法sliding window)
|
评分
-
查看全部评分
|
|
|
|
|
|
|
发表于 16-3-2019 04:10 AM
|
显示全部楼层
LZW with dynamic code len (8 ~ 12 bits),最好成绩是:2481 bytes。还是打不赢 IO.Compress的2423(可能是algorithm比 LZW 更好好吧) |
|
|
|
|
|
|
|
发表于 18-3-2019 01:13 AM
|
显示全部楼层
我突然发现有可能得到更好的成绩!就是别2481 bytes还少。还是LZW,由于table size一开始就是256了(要装256个单个ASCII字元)。不如先分析全部出现过的单个ASCII字元,应该是11个(这个楼主已经找出来了)。那么table size就只是11而已,接下来增加的字串,都可以利用12~256 = 244个。之前第一个字串就是256,必须用9 bits code length,但现在可以在压缩过程前端大量使用8bit code length,那么肯定可以得到比2481 更好的成绩。但是否可以打败c#,就要试过才知。 |
|
|
|
|
|
|
|
楼主 |
发表于 20-3-2019 11:34 AM
|
显示全部楼层
nsda
沒有玩過 多多指教! 加油!只要尽力了就好了。
|
评分
-
查看全部评分
|
|
|
|
|
|
|
发表于 28-3-2019 06:32 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 28-3-2019 04:49 PM
|
显示全部楼层
不好意思樓主忘了補充 看到你有更新賞金那部分
截止時間好像已經過了 我估計結果是“成績相同”?
無論如何 我想說的是我這裡先自動棄權獎金(如果有) 因為成品沒弄出來 希望你還會有其他活動 也希望高手不要潛水 多教導後輩 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|