OJ 工具
本頁面將介紹一些 OJ 工具。
cf-tool
cf-tool 是 Codeforces 的命令行界面的跨平台(支持 Windows、Linux、macOS)工具,支持很多常用操作。
源碼託管在 xalanq/cf-tool 上。


特點
- 支持 Codeforces 中的所有編程語言。
- 支持 Contests 和 Gym。
- 提交代碼。
- 動態刷新提交後的情況。
- 拉取問題的樣例。
- 本地編譯和測試樣例。
- 拉取某人的所有代碼。
- 從指定模板生成代碼(包括時間戳,作者等信息)。
- 列出某場比賽的所有題目的整體信息。
- 用默認的網頁瀏覽器打開題目頁面、榜單、提交頁面等。
- 豐富多彩的命令行。
下載
前往 cf-tool/releases 下載最新版。
之後的更新可以直接使用 upgrade 命令獲取。
使用
將下載好的可執行文件 cf(或者 cf.exe)放置到合適的位置後(見常見問題的第二條),然後打開命令行,用 cf config 命令來配置一下用户名、密碼和代碼模板。
使用舉例
以下簡單模擬一場比賽的流程。
cf race 1136
要開始打 1136 這場比賽了!其中 1136 可以從比賽的鏈接獲取,比方説這個例子的比賽鏈接就為 https://codeforces.com/contest/1136。
如果比賽還未開始,則該命令會進行倒計時。比賽已開始或倒計時完後,工具會自動用默認瀏覽器打開比賽的所有題目頁面,並拉取樣例到本地。
cd 1136/a
進入 A 題的目錄,此時該目錄下會包含該題的樣例。
cf gen
用默認模板生成一份代碼,在這裏不妨設為 a.cpp。
vim a.cpp
用 Vim 寫代碼(或者用其他的編輯器或 IDE 進行)。
cf test
編譯並測試樣例。
cf submit
提交代碼。
cf list
查看當前比賽各個題目的信息。
cf stand
用瀏覽器打開榜單,查看排名。
常見問題
-
我雙擊了這個程序但是沒啥效果
cf-tool 是命令行界面的工具,你應該在終端裏運行這個工具。
-
我無法使用
cf這個命令你應該將
cf這個程序放到一個已經加入到系統變量 PATH 的路徑裏(比如説 Linux 裏的/usr/bin/)。不明白的話請直接搜索「PATH 添加路徑」。
-
如何加一個新的測試數據
新建兩個額外的測試數據文件
inK.txt和ansK.txt(K 是包含 0~9 的字符串)。 -
怎樣在終端裏啓用 tab 補全命令
使用這個工具 Infinidat/infi.docopt_completion 即可。
注意:如果有一個新版本發佈(尤其是添加了新命令),你應該重新運行
docopt-completion cf。
Codeforces Visualizer
源碼託管在 sjsakib/cfviz 上。
這個網站有三個功能:
- 用炫酷的圖表來可視化某個用户的各種信息(比如通過題目的難度分佈)。
- 對比兩個用户。
- 計算一場比賽的 Rating 預測。
Competitive Companion
這個工具是一個瀏覽器插件,用於解析網頁裏面的測例數據。它支持解析幾乎所有的主流 oj 平台(比如 Codeforces、AtCoder)。使用這個插件後,再也不用手動複製任何的測例數據。
源碼託管在 jmerle/competitive-companion 上。
使用方法:
- 在谷歌或者火狐瀏覽器上安裝插件。該工具會將解析到的測例數據以 JSON 格式的形式發到指定的端口。
- 在本地安裝任何可以從端口監聽讀取數據的工具即可,可以參考 官方給出的示例。
圖片演示:
使用 zqxyz73 同學的 bytetools 完成演示。
ac-predictor
ac-predictor 是一個在 atcoder rating 更新前提前知道比賽 rating 變化的插件。
這個工具是一個 tampermonkey 腳本,所以你需要首先安裝 tampermonkey。
完成後來到 greasyfork,點擊安裝即可。
安裝完成後,比賽的排行榜界面會顯示每個用户的 rating 變化預測。
這個工具有一個經由 GoodCoder666 漢化的版本,點擊 這裏 以安裝。
本页面最近更新:,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:OI-wiki
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用