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 只已被捕捉

  • Siyuan Mozilla FireFox | 68.0 Windows 7

    博主,您 https://codeforces-edu-hacking.dreamwings.cn/ 这个地址访问不了了

    • 千千 Chrome | 76.0.3809.100 Windows 10/11

      感谢指出,已修复~

  • wzw Edge | 17.17134 Windows 10/11

    链接进不去?

    • 千千 Chrome | 73.0.3683.75 Windows 10/11

      咦 我这边正常呀~

      • wzw1105 Edge | 17.17134 Windows 10/11

        大佬unexpected end when deserializing object path ‘result[294].author ghost’,line 1,position 154317.error:HackExcuteWindow.Grid_Loaded是咋回事(。•ˇ‸ˇ•。)

        • wzw1105 Chrome | 73.0.3683.86 Windows 10/11

          现在错误成了:系统找不到指定的文件。error:HackExcuteWindow.ExecuteCode。emmm咋回事(。•ˇ‸ˇ•。)

          • wzw1105 Chrome | 73.0.3683.86 Windows 10/11

            区间改小一点就直接显示执行完毕。。并没有评测貌似Σ(っ °Д °;)っ

          • 千千 Chrome | 73.0.3683.86 Linux

            检查你的 C++ 环境是否配好,要支持 -std=c++14 编译选项

      • wzw1105 Edge | 17.17134 Windows 10/11

        阔以教教我怎么支持-std c++14吗,已经下载了MinGW,并配置了系统环境变量,网上没找到相关资料,万分感谢OωO

        • wzw1105 Edge | 17.17134 Windows 10/11

          用vs跑了一段c++14特性代码是能编译通过的。。。

          • 千千 Chrome | 73.0.3683.86 Linux

            咦,你不是下载好了 MinGW 嘛,试试看加一个编译参数 -std=c++14 能否正常编译,如果可以就是正常的(和 vs 没有关系)

        • wzw1105 Edge | 17.17134 Windows 10/11

          调好了,谢谢大佬(๑•̀ㅁ•́ฅ)

          • 千千 Chrome | 73.0.3683.86 Linux

            哇~ 加油上 hack 榜~

      • wzw1105 Edge | 17.17134 Windows 10/11

        大佬,不好意思再打扰一下>﹏<,发现还是只能编译c++11,那个-std=c++11具体怎么添加啊

        • 千千 Chrome | 73.0.3683.86 Linux

          抱歉这个目前没法实现,因为我在程序里默认使用 C++14 进行编译,所以想要运行需要支持 C++14 的 GCC 版本,高版本的 Codeblocks 里的 MinGW 就可以拿来直接用

          • wzw1105 Edge | 17.17134 Windows 10/11

            这次真好了,十分感谢!ヾ(^▽^*)))

        • 千千 Chrome | 73.0.3683.86 Linux

          加油~

  • sun Apple Safari | 604.1 iPhone 12_1

    你好,我的博客打不开了,登陆域名显示Error establishing a database connection,之前博客用的好好的,phpmyadmin里面的MySQL 数据库自己消失了,重建一个数据库后可以打开,但是一会数据库又没了。大佬能分析一下原因吗?

    • 千千 Chrome | 71.0.3578.98 Windows 10/11

      也就是说现在你遇到的问题是“数据库内容莫名其妙的自动消失”这样对吧,检查你是否有安装恶意的插件或者MySQL服务是否正常

  • hz2016 Chrome | 68.0.3440.75 Windows 10/11

    喜欢这个,千千,还有想不到千千是个蓝孩纸qaq,能加个qq不,762670604,希望能在QQ聊更多的事情QvQ

    • 千千 Chrome | 69.0.3497.100 Windows 10/11

      QVQ 好呀~

  • webkv Chrome | 69.0.3497.92 Windows 8.1

    偶是被图片吸引进来的,但发现内容看不懂。不过代码已经收下了。⌇●﹏●⌇

    • 千千 Chrome | 69.0.3497.81 Windows 10/11

      QVQ 等接触了 cf 慢慢的就懂啦~