简介
还在发愁打了那么多场比赛都没有进入首页么?
还在为了前 5 的 hacker 名额阅读千份代码么?
是的,你没有看错!
这是一个 Edu & Div.3 轮 Open hacking 错误代码自动查找器!
你只需要提前构造好某些题的叉点数据,填入它,OK!一切就是这么的方便!
注:仅适用于 Edu 以及 Div.3 轮比赛赛后 hack,不支持 Div.1/2 赛时 hack。
适用人群:想进入首页 Hack 榜的选手
下载地址: http://codeforces-edu-hacking.dreamwings.cn
程序展示
[开发 & 运行] 环境
- 编程语言:C#
- 图形界面框架:WPF
- 第三方库引用:
- Newtonsoft.Json
- AngleSharp
- 支持平台:Windows 7 及以上
开发思路
我们知道, Codeforces Edu & Div.3 轮的 Hack 阶段一般在赛后举行,时长 12h/24h ,它允许我们将任一选手的解决方案复制到本地。
因此,本程序的开发大体分为两个步骤:
- 将指定 contest 所有 AC 代码逐一下载到本地并编译
- 使用特定数据作为输入执行已编译的程序,将程序输出与期望输出进行对比并评判结果
功能实现(截至 2018-5-15)
- Hack
- 指定 contest id
- 指定题目编号(A、B、C、D、E、F?)
- 多组测试数据填入
- 并行化查询
- 指定区间查询
- 评判 [暂停/继续]
- 评判结果查看
- 支持语言
- C/C++
- Java
- Python 2.7
- Python 3.6
- C#
- Ranking
- Hack 榜单(前十)
使用方法
准备工作
- 确保本地已安装
.net framework 4.6.1
或更高版本支持 - 假若你想评判某场所有
C/C++
代码,请自行配置好GCC/G++
环境变量(其他语言同)
注:GCC/C++
需支持 -std=c++14
编译选项
操作步骤
首先是主界面,在这里可以选择你想要查询的 contest。
点击下面的 Ranking 可以查看当前比赛 Hack 榜的前十,唔~ 这个操作相对来说比较简单就不多说啦~
接下来我们进入 Hack 环节~
选好 contest,点击 Hack,等待新窗口加载完成,我们看到的大概是这个样子~(这里以 contest 978
为例)
每道题目前面的复选框代表这道题是否在评判的时候被处理(也就是说你想要 hack 哪道题就勾上它前面的复选框吧)
左下角的线程数目可以指定评判时候同时处理的解决方案数目,具体大小设置取决于你电脑配置的高低
下方的几种编程语言代表在评判时候所要查询的语言类型,具体取决于你配置了哪种环境
双击题目可以为该题添加测试数据~
注意:多组数据请用单独一行的 ---
分隔,尽量不要输入多余的字符。
如上图所示,我们为 A 题添加了测试数据(这里我们刻意让期望数据与正确结果不同便于演示)。
加好数据,选好题目以及编程语言,此时看到的大概是这个样子~
接下来一步非常关键:下载 Contest Status
,保存为 json
格式的文件。
一切准备就绪!
点击 Hack it
,然后选择我们刚刚下载保存的 json
文件,如下图所示。
稍等片刻~ 程序开始进行评测~
搞定~ 点击 ID 那一列的链接去 hack 别人吧~
悄悄地说一下哦~
在列表中右键可以选择复制某一行的测试数据,也可以选择删除它~
如果在这个界面你的程序频繁弹窗报错,请检查相应语言的环境变量是否配置正确,或测试数据输入是否合法。
感谢
- 感谢 MikeMirzayanov 以及他的团队为我们提供了 Codeforces 这一出色的训练平台。
- 感谢 Newtonsoft.Json 以及 AngleSharp 开发团队为开源社区的奉献。
写在最后
嗯~ 这么好的东西当然要分享出来给大家用咯~
千千喜欢这一个平台,希望它也可以帮助到更多的人~
开源项目链接:https://github.com/im0qianqian/CodeforcesEduHacking
不介意的话记得给个 Star 哦~ 😝
博主,您 https://codeforces-edu-hacking.dreamwings.cn/ 这个地址访问不了了
感谢指出,已修复~
链接进不去?
咦 我这边正常呀~
大佬unexpected end when deserializing object path ‘result[294].author ghost’,line 1,position 154317.error:HackExcuteWindow.Grid_Loaded是咋回事(。•ˇ‸ˇ•。)
现在错误成了:系统找不到指定的文件。error:HackExcuteWindow.ExecuteCode。emmm咋回事(。•ˇ‸ˇ•。)
区间改小一点就直接显示执行完毕。。并没有评测貌似Σ(っ °Д °;)っ
检查你的 C++ 环境是否配好,要支持 -std=c++14 编译选项
阔以教教我怎么支持-std c++14吗,已经下载了MinGW,并配置了系统环境变量,网上没找到相关资料,万分感谢OωO
用vs跑了一段c++14特性代码是能编译通过的。。。
咦,你不是下载好了 MinGW 嘛,试试看加一个编译参数 -std=c++14 能否正常编译,如果可以就是正常的(和 vs 没有关系)
调好了,谢谢大佬(๑•̀ㅁ•́ฅ)
哇~ 加油上 hack 榜~
大佬,不好意思再打扰一下>﹏<,发现还是只能编译c++11,那个-std=c++11具体怎么添加啊
抱歉这个目前没法实现,因为我在程序里默认使用 C++14 进行编译,所以想要运行需要支持 C++14 的 GCC 版本,高版本的 Codeblocks 里的 MinGW 就可以拿来直接用
这次真好了,十分感谢!ヾ(^▽^*)))
加油~
你好,我的博客打不开了,登陆域名显示Error establishing a database connection,之前博客用的好好的,phpmyadmin里面的MySQL 数据库自己消失了,重建一个数据库后可以打开,但是一会数据库又没了。大佬能分析一下原因吗?
也就是说现在你遇到的问题是“数据库内容莫名其妙的自动消失”这样对吧,检查你是否有安装恶意的插件或者MySQL服务是否正常
喜欢这个,千千,还有想不到千千是个蓝孩纸qaq,能加个qq不,762670604,希望能在QQ聊更多的事情QvQ
QVQ 好呀~
偶是被图片吸引进来的,但发现内容看不懂。不过代码已经收下了。⌇●﹏●⌇
QVQ 等接触了 cf 慢慢的就懂啦~