考场易记高级配置
(set-background-color "gray15") (set-foreground-color "gray") (global-set-key [f9] 'compile) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd "C-s") 'save-buffer) (global-set-key (kbd "C-a") 'mark-whole-buffer) (global-set-key (kbd "RET") 'newline-and-indent) (setq default-cursor-type 'bar) (setq default-tab-width 4) (setq c-default-style "awk") (set-frame-parameter (selected-frame) 'alpha (list 85 50))粘贴完之后呢
保存,关闭即可。这时候再用GNU Emacs 25(GUI)打开你任意一个程序
哇,爽爆了
修改配置的好处都有啥?
谁说对了就给他
御·Dragon的感受如下
F9一键编译,可以避免在终端g++时编译错误又返回而浪费时间。
F10一键运行,不用到终端去了
编译器透明,(需要超级豪华顶级配置),要看题面、数据时不用总是切屏
页面及其清爽
@Karry5307 大神给出了一些别的界面优化
Ubuntu对拍帮手对拍是什么?
这里我不细说。
就是两个源程序,一个对拍程序,随机一组数据比较两个源程序的输出一不一样
Ubuntu的对拍怎么弄?
注意:对拍一定要开文件!
我们这里一共需要 4 个程序,分别是"data.cpp"、"my.cpp"、 "text.cpp"、"check.sh"
(重点) 在每次修改完后、对拍前,请先进入"my.cpp"、"text.cpp"与"data.cpp"进行编译,否则新的对拍只会测试修改前的代码,使得答案不改变!
"data.cpp"为数据生成程序,随题目需要求改
我们还是拿A+B举例子,A+B的随机数据代码如下
#include<bits/stdc++.h> using namespace std; const long long MOD=1e18; int main() { freopen("input.in","w",stdout);//input.in是对拍当前输入数据的文件 srand(time(NULL));//这个地方很重要,保证了你每次随机出来的数不一样 int a,b; a = rand()%100000000;//随机数 b = rand()%100000000;//随机数 printf("%d %d",a,b); return 0; }"my.cpp"为 自己写的 程序(即正确性需要对拍验证的程序)
#include<bits/stdc++.h> using namespace std; int a,b; int main(){ freopen("input.in","r",stdin); freopen("my.out","w",stdout); scanf("%d %d",&a,&b); printf("%lld",(long long)(a + b - 1)); puts(""); return 0; }"text.cpp"为与你自己程序 对拍的程序 (如题解、暴力等)
#include<bits/stdc++.h> using namespace std; int a,b; int main(){ freopen("input.in","r",stdin); freopen("text.out","w",stdout); scanf("%d %d",&a,&b); printf("%lld",(long long)(a + b - 1)); puts(""); return 0; }"check.sh"为对拍程序
在check.sh中输入(推荐使用emacsGUI编译)
#!bin/bash while true; do ./data ./my ./text if diff my.out text.out; then echo AC else echo WA exit 0 fi done以上全部保存到文件里面即可。
然后在终端输入在终端输入
bash ./check.sh即可运行进行对拍