主页
搜索
最近更新
数据统计
申请密钥
系统公告
1
/
1
请查看完所有公告
CF Tool 使用教程
最后更新于 2025-07-26 19:31:37
作者
徐晨轩✅
分类
个人记录
复制 Markdown
查看原文
删除文章
更新内容
[CF Tool 下载地址](https://github.com/xalanq/cf-tool/releases/download/v1.0.0/cf_v1.0.0_windows_64.zip) # 安装 **第一步:** [下载](https://github.com/xalanq/cf-tool/releases/download/v1.0.0/cf_v1.0.0_windows_64.zip)后解压缩,接着会看到一个文件 `cf.exe`,将其拷贝至 `C:\Users\*\AppData\Local\CF Tools`,其中 `*` 为用户名(如 `C:\Users\徐晨轩\AppData\Local\CF Tools`)。 **第二步:** 在搜索框里搜索“环境变量”,选择“编辑系统环境变量”。  点击“环境变量”。  在“XXX 的用户变量”中找到 `Path`。双击打开。  点击新建,输入 `cf.exe` 保存的路径。 完成后单击“确定”。 接下来,在“系统变量”中找到 `Path`。做同样的操作。 完成后单击“确定”退出。 **第三步:** 打开 `Windows Terminal(Win11) or CMD(Win10 or lower)`(使用管理员模式打开),输入 `cf`,如果能看到下面的信息说明已安装成功。 ``` Usage: cf config cf submit [-f <file>] [<specifier>...] cf list [<specifier>...] cf parse [<specifier>...] cf gen [<alias>] cf test [<file>] cf watch [all] [<specifier>...] cf open [<specifier>...] cf stand [<specifier>...] cf sid [<specifier>...] cf race [<specifier>...] cf pull [ac] [<specifier>...] cf clone [ac] [<handle>] cf upgrade ``` 如果没有,请检查前面的设置是否成功。 # 配置 在命令行中输入 `cf config`,回车。 ``` Configure the tool 0) login 1) add a template 2) delete a template 3) set default template 4) run "cf gen" after "cf parse" 5) set host domain 6) set proxy 7) set folders' name Please choose one (index): ``` 输入 `0`,回车。 然后输入 Codeforces 的用户名和密码(密码不可见,只要正确输入即可)。 当显示 ``` Succeed!! Welcome (用户名)~ ``` 时,表示登录成功。如果显示 ``` Not logged in ``` 则表明登录失败,请检查用户名/密码。 接着,新建一个文件 `template.cpp`,键入模板代码。推荐: ```cpp /* Created By: CF Tool User Name: $%U%$ Create Time: $%Y%$-$%M%$-$%D%$ $%h%$:$%m%$:$%s%$ */ #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL); return 0; } ``` 再次键入 `cf config`,回车,输入 `1`,回车。 ``` Add a template Language list: 14: ActiveTcl 8.5 33: Ada GNAT 4 18: Befunge 9: C# Mono 5.18 52: Clang++17 Diagnostics 28: D DMD32 v2.086.0 3: Delphi 7 39: FALSE 25: Factor 4: Free Pascal 3.0.2 45: GNU C++11 5 ZIP 42: GNU G++11 5.1.0 50: GNU G++14 6.4.0 54: GNU G++17 7.3.0 43: GNU GCC C11 5.1.0 32: Go 1.12.6 12: Haskell GHC 8.6.3 15: Io-2008-01-07 (Win32) 47: J 36: Java 1.8.0_162 60: Java 11.0.5 46: Java 8 ZIP 34: JavaScript V8 4.8.0 48: Kotlin 1.3.10 56: Microsoft Q# 2: Microsoft Visual C++ 2010 59: Microsoft Visual C++ 2017 38: Mysterious Language 55: Node.js 9.4.0 19: OCaml 4.02.1 22: OpenCobol 1.0 6: PHP 7.2.13 51: PascalABC.NET 3.4.2 13: Perl 5.20.1 44: Picat 0.9 17: Pike 7.8 40: PyPy 2.7 (7.2.0) 41: PyPy 3.6 (7.2.0) 7: Python 2.7.15 31: Python 3.7.2 27: Roco 8: Ruby 2.0.0p645 49: Rust 1.35.0 20: Scala 2.12.8 26: Secret_171 Select a language (e.g. "42"): ``` 输入 `54`,回车。 ``` GNU G++17 7.3.0 Template: You can insert some placeholders into your template code. When generate a code from the template, cf will replace all placeholders by following rules: $%U%$ Handle (e.g. xalanq) $%Y%$ Year (e.g. 2019) $%M%$ Month (e.g. 04) $%D%$ Day (e.g. 09) $%h%$ Hour (e.g. 08) $%m%$ Minute (e.g. 05) $%s%$ Second (e.g. 00) Template absolute path(e.g. "~/template/io.cpp"): ``` 输入 `template.cpp` 所在路径(例如 `C:\Users\徐晨轩\AppData\Local\CF Tools\template.cpp`),回车。 ``` The suffix of template above will be added by default. Other suffix? (e.g. "cxx cc"), empty is ok: ``` 直接回车。 ``` Template's alias (e.g. "cpp" "py"): ``` 输入 `cpp`,回车。 ``` Script in template: Template will run 3 scripts in sequence when you run "cf test": - before_script (execute once) - script (execute the number of samples times) - after_script (execute once) You could set "before_script" or "after_script" to empty string, meaning not executing. You have to run your program in "script" with standard input/output (no need to redirect). You can insert some placeholders in your scripts. When execute a script, cf will replace all placeholders by following rules: $%path%$ Path to source file (Excluding $%full%$, e.g. "/home/xalanq/") $%full%$ Full name of source file (e.g. "a.cpp") $%file%$ Name of source file (Excluding suffix, e.g. "a") $%rand%$ Random string with 8 character (including "a-z" "0-9") Before script (e.g. "g++ $%full%$ -o $%file%$.exe -std=c++11"), empty is ok: ``` 输入 `g++ $%full%$ -o $%file%$.exe -std=c++14 -Wall`,回车。 ``` Script (e.g. "./$%file%$.exe" "python3 $%full%$"): ``` 输入 `./$%file%$.exe`,回车。 ``` After script (e.g. "rm $%file%$.exe" or "cmd.exe /C del $%file%$.exe" in windows), empty is ok: ``` 输入 `cmd.exe /C del $%file%$.exe`,回车。 ``` Make it default (y/n)? ``` 输入 `y`,回车。 # 使用 **命令解释** `cf race (contest_index)`:表示下载 `https://codeforces.com/contest/(contest_index)` 比赛的样例等文件(默认保存至 `~/codeforces/contest/(contest_index)/`)。 `cf submit`:表示提交当前目录下的代码(如果有多个,会提示选择哪一个)。 `cf submit -f (file)`:表示提交名为 `(file)` 的文件。 `cf submit (contest_index) (problem)`:表示提交第 `(contest_index)` 次比赛的 `(problem)` 题(如 `cf submit 100 A`)。
正在渲染内容...
点赞
1
收藏
0