ACM算法竞赛中在编辑器中使用输入输出样例(CPH)

简介: ACM算法竞赛中在编辑器中使用输入输出样例(CPH)

通用方法

我们可以在编辑器中创建三个文件,一个是main.cpp,一个是test.in,一个是test.out分别用来写代码,输入输入数据,显示输出数据

这种方法的好处是不需要插件,在任何编辑器中都可以实现,例如Devc++,sublime,vscode,clion...

可以在比赛的时候使用,例如篮球杯,天梯赛。。。

以Clion为例:

image-20230810122412590

文件结构长这样,然后使用freopen来读取文件和写入文件,加上ifndef

ifndef 的好处就是,很多OJ有ONLINE_JUDGE ,因此你本地写了代码可以直接交,不会报错,也不用删除这一段代码

#ifndef ONLINE_JUDGE
 freopen("../test.in", "r", stdin);
 freopen("../test.out", "w", stdout);
#endif

个人常用的模版文件如下(打codeforces比较快):

#include <bits/stdc++.h>

#define int long long
#define yes cout << "YES" << endl;
#define no cout << "NO" << endl;
#define IOS cin.tie(0), cout.tie(0), ios::sync_with_stdio(false);
#define cxk 1
#define debug(s, x) if (cxk) cout << "#debug:(" << s << ")=" << x << endl;
using namespace std;

void solve() {
   
    int n;
    cin >> n;
    vector<int> a(n + 1);
    for (int i = 1; i <= n; i++) cin >> a[i];

}

signed main() {
   
    IOS
#ifndef ONLINE_JUDGE
    freopen("../test.in", "r", stdin);
    freopen("../test.out", "w", stdout);
#endif
    int _ = 1;
    cin >> _;
    while (_--) solve();
    return 0;
}

在solve函数中写完代码可以直接交OJ,例如codeforces,Atcoder,落谷,acwing 这些都可以通过

编辑器插件

下面介绍的方法都和一个CPH的东西有关,可以现在浏览器中安装插件(可能需要代理):

链接:https://chrome.google.com/webstore/detail/competitive-companion/cjnmckjndlpiamhfimnnjmnckgghkjbl

image-20230810123235420

没代理的话就去GitHub碰运气进去吧https://github.com/jmerle/competitive-companion

image-20230810123539787

安装完这里会显示一个加号,点击这个可以把本次比赛页面的所有题目弄到编辑器中,之后会遇到。

Clion插件

在Clion中,推荐使用插件AutoCp,该插件需要保持Clion为最新版本

链接:https://pushpavel.github.io/AutoCp/guide/getting-started.html#prerequisites

image-20230810122803895

安装完后,右侧会显示这个东西,找不到的话,可以在上面的View里面找一下:

image-20230810124421972

然后随便找一个比赛,点CPH上面的加号:

image-20230810124547364

然后回到编辑器中(由于这个比赛A题搞不下来,所以我换了一个Div2):

image-20230810124812902

然后你就会得到这样的画面:

左边的几个题目全都帮你拉下来了,右边的样例输入输出也拉进来了,

image-20230810124857874

写代码测试:

下面是通过的样子:

image-20230810125431000

下面是不通过的样子,可以点进去看哪里不一样

image-20230810125216982

如果你有自己的初始代码模版,也可以在这里添加:

image-20230810125651374

Vscode

搜索安装如下插件:

浏览器安装的插件在Clion里面讲过了,步骤也是一样的,

image-20230810133823322

然后网页上面点那个加号,回到vscode就会显示让你创建文件,我把python,java之类的都删了,因为我只需要用 c++

image-20230810134712153

然后界面就出来了,右边的submit是用来提交平台的,不过好像只有火狐浏览器有这个插件

image-20230810134812771

Sublime Text

参考https://juejin.cn/post/7177570367844646971吧

用法和上面一样

相关文章
|
7月前
|
存储 编译器 C++
C++ 入门篇之基本的输入输出
C++ 入门篇之基本的输入输出
|
4月前
|
存储 C++
第七章:C++中的输入与输出
第七章:C++中的输入与输出
28 0
|
7月前
|
存储 算法 Linux
输入和输出 文件读写 知识点总结 C++程序设计与算法笔记总结(六) 北京大学 郭炜
输入和输出 文件读写 知识点总结 C++程序设计与算法笔记总结(六) 北京大学 郭炜
39 1
|
11月前
|
算法
蓝桥杯算法训练】字符串编辑
从键盘输入一个字符串(长度<=40个字符),并以字符 ’.’ 结束。编辑功能有:   1 D:删除一个字符,命令的方式为: D a 其中a为被删除的字符,例如:D s 表示删除字符 ’s’ ,若字符串中有多个 ‘s’,则删除第一次出现的。   2 I:插入一个字符,命令的格式为:I a1 a2 其中a1表示插入到指定字符前面,a2表示将要插入的字符。例如:I s d 表示在指定字符 ’s’ 的前面插入字符 ‘d’ ,若原串中有多个 ‘s’ ,则插入在最后一个字符的前面。   3 R:替换一个字符,命令格式为:R a1 a2 其中a1为被替换的字符,a2为替换的字符,若在原串中有多个a1则应全部
140 0
|
12月前
|
编译器 C语言
一起啃书(C Primer Plus 第六版)--字符串和格式化输入输出<附大量编程题>
一起啃书(C Primer Plus 第六版)--字符串和格式化输入输出<附大量编程题>
108 0
Verilog语法入门(三)八输入与门
Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。
229 0
|
C语言 Python
输入输出白话解析
输入和输出作为我们编程语言里面最基础的内容,其实没有必要在这里白扯,只要告诉大家是input()和print()即可!
60 0
输入输出白话解析
|
Java 数据安全/隐私保护
|
存储 编译器 程序员
第三章 格式化输入/输出《C语言程序设计现代方法(第2版)》读书笔记
第三章 格式化输入/输出《C语言程序设计现代方法(第2版)》读书笔记
第三章 格式化输入/输出《C语言程序设计现代方法(第2版)》读书笔记
[解题报告]【第01题】A + B | 基础输入输出,开启学习C语言打卡的序章
[解题报告]【第01题】A + B | 基础输入输出,开启学习C语言打卡的序章