Codeforces Edu Hacking

简介

还在发愁打了那么多场比赛都没有进入首页么?

还在为了前 5 的 hacker 名额阅读千份代码么?

是的,你没有看错!

这是一个 Edu & Div.3Open hacking 错误代码自动查找器!

你只需要提前构造好某些题的叉点数据,填入它,OK!一切就是这么的方便!

注:仅适用于 Edu 以及 Div.3 轮比赛赛后 hack,不支持 Div.1/2 赛时 hack。

适用人群:想进入首页 Hack 榜的选手

下载地址: http://codeforces-edu-hacking.dreamwings.cn

 

程序展示

img

 

[开发 & 运行] 环境

  • 编程语言:C#
  • 图形界面框架:WPF
  • 第三方库引用:
    • Newtonsoft.Json
    • AngleSharp
  • 支持平台:Windows 7 及以上

 

开发思路

我们知道, Codeforces Edu & Div.3 轮的 Hack 阶段一般在赛后举行,时长 12h/24h ,它允许我们将任一选手的解决方案复制到本地。

因此,本程序的开发大体分为两个步骤:

  1. 将指定 contest 所有 AC 代码逐一下载到本地并编译
  2. 使用特定数据作为输入执行已编译的程序,将程序输出与期望输出进行对比并评判结果

 

功能实现(截至 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 榜的前十,唔~ 这个操作相对来说比较简单就不多说啦~

img

 

接下来我们进入 Hack 环节~

选好 contest,点击 Hack,等待新窗口加载完成,我们看到的大概是这个样子~(这里以 contest 978 为例)

img

每道题目前面的复选框代表这道题是否在评判的时候被处理(也就是说你想要 hack 哪道题就勾上它前面的复选框吧)

左下角的线程数目可以指定评判时候同时处理的解决方案数目,具体大小设置取决于你电脑配置的高低

下方的几种编程语言代表在评判时候所要查询的语言类型,具体取决于你配置了哪种环境

 

双击题目可以为该题添加测试数据~

img

注意:多组数据请用单独一行的 --- 分隔,尽量不要输入多余的字符。

如上图所示,我们为 A 题添加了测试数据(这里我们刻意让期望数据与正确结果不同便于演示)。

 

加好数据,选好题目以及编程语言,此时看到的大概是这个样子~

img

 

接下来一步非常关键:下载 Contest Status ,保存为 json 格式的文件。

一切准备就绪!

点击 Hack it ,然后选择我们刚刚下载保存的 json 文件,如下图所示。

img

 

稍等片刻~ 程序开始进行评测~

img

 

搞定~ 点击 ID 那一列的链接去 hack 别人吧~

悄悄地说一下哦~

在列表中右键可以选择复制某一行的测试数据,也可以选择删除它~

如果在这个界面你的程序频繁弹窗报错,请检查相应语言的环境变量是否配置正确,或测试数据输入是否合法。

 

感谢

 

写在最后

嗯~ 这么好的东西当然要分享出来给大家用咯~

千千喜欢这一个平台,希望它也可以帮助到更多的人~

开源项目链接:https://github.com/im0qianqian/CodeforcesEduHacking

不介意的话记得给个 Star 哦~ 😝


我想对千千说~

58 只已被捕捉

  • 新闻头条 Chrome | 55.0.2883.87 Windows 7

    文章不错非常喜欢

    • 千千 Chrome | 66.0.3359.181 Windows 10/11

      谢谢~ 欢迎常来~

  • 葛一速 Mozilla FireFox | 52.0 Windows XP

    代码的世界我不懂,感觉是一款很有创意的软件

    • 千千 Chrome | 66.0.3359.181 Windows 10/11

      是呢,很方便竞赛选手们赛后的工作,哈哈~

  • 官仁博客 Chrome | 63.0.3239.132 Windows 8.1

    玩得好高端

    • 千千 Apple Safari | 602.1 iPhone 10_2_1

      没有啦 一个小小的工具而已

  • boxjan Chrome | 66.0.3359.158 Android 8.1.0

    你这算是沙箱吗?要是有人提交恶意代码,你抓取下来了岂不是很危险。
    赛时hack可以用Python 做OCR后编译处理(大概思路)

    • 千千 Chrome | 66.0.3359.170 Windows 10/11

      暂时没有沙箱的处理,因为检测的是 cf 已经 AC 的代码,如果是恶意代码是不可能 AC 的(逃
      赛时 hack OCR 处理错误率还是很高的,毕竟展示的字体比较特殊

  • lsx QQ浏览器 | 7.5.8.422 iPhone 11_3

    千神,我是第一个

    • 千千 Apple Safari | 602.1 iPhone 10_2_1

      哇咔咔 是第一个啦😄