对拍 For Linux

#!/bin/sh
 g++ -g gene.cpp -o gene
 g++ -g a.cpp -o a
 g++ -g b.cpp -o b
 while true; do
  ./gene > input
  ./a < input > output
  ./b < input > answer
  if diff output answer; then
   echo AC
  else
   echo WA
   break
  fi
done

命名:pat.sh

时间: 2024-09-27 04:32:38

对拍 For Linux的相关文章

模版总结【长期更新】

对拍程序 linux: 1 #!/bin/bash 2 while true;do 3 ./data > data.in 4 ./wrong < data.in > wrong.out 5 ./right < data.in > right.out 6 diff wrong.out right.out 7 if [ &? -ne 0 ] ; then break ; fi 8 done windows: 1 @echo off 2 :loop 3 data>da

Linux下对拍脚本与随机数生成器

对拍脚本 新建一个文档 check.sh 作为对拍脚本. #!/bin/bash while(true)do #死循环 ./data > 1.in #运行数据生成器,将数据输出到1.in ./std < 1.in > out1 #std是标准(暴力)程序 ./now < 1.in > out2 #now是现在要被测的程序 if diff -w out1 out2; then #比较,-w 是忽略行末空格 echo AC #如果一样就输出AC else echo WA cat

[科技]NOI Linux下的对拍程序

我们知道,在$Windows$环境下用$cmd$里的$FC$函数实现对拍(放到一个目录下): #include <cstdlib> int main(){ while(true){ system("make.exe >make.txt"); system("Force.exe <make.txt> Force.txt"); system("need.exe <make.txt> need.txt"); i

windows和linux下如何对拍

对拍是各种计算机考试检查时必备工具,实际上十分强大,只要你的暴力没有写错就没有问题. 对拍的意思:(怎么有点语文课的意思雾) 对:看见'对'就可以知道有两个. 拍:就是把两个程序结果拍在一起,对照(有点牵强). 实践 由于Windows和Linux系统不同,平常大多数人都用Windows,而在noi系列赛事中都采用Linux系统. Windows 就以a+b为例吧. 首先摆一个可能是正解的东西. 这个代码文件名:1.cpp #include<cstdio> #include<window

[教程]对拍程序(linux)+ 考试(做题)生成数据 + 提交注意事项

对拍程序(linux) 使用说明: ? ? ? 这里使用compare.cpp程序来对拍的,没有用bash脚本 ? ? ? 使用时,先编译4个文件(std中放正确的标程/暴力程序 my中自己的程序? rand是用来产生数据的) ? ? ? ? ? ? g++ compare.cpp -o duipai ? ? ? ? ? ? g++ my.cpp -o my ? ? ? ? ? ? g++ rand.cpp -o rand ? ? ? ? ? ? g++ std.cpp -o std ? 然后运

Linux下对拍模版

Windows版本传送门:http://www.cnblogs.com/shamman/p/7336917.html 捣鼓了半天NOILinux,算是差不多搞明白了,以后大概会用NOILinux刷题多一些吧. 数据生成器(与Windows下写法无异) 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define random(a,b) ((a)+rand()%((b)-(a)+1)) 4 5 stringstream ss; 6 7 in

linux 下的对拍

搞了一上午终于弄好了一个对拍,估计以后调试会方便很多. #!/bin/bash while true; do ./makedate>tmp.in ./XXXXX<tmp.in>tmp.out ./XXXXX<tmp.in>tmp2.out if diff tmp.out tmp2.out; then printf AC else echo WA exit 0 fi sleep 1 done

Linux下对拍脚本

使用说明:        1. 被测代码.正确代码.生成器代码均使用文件输入输出: 2. 对拍前会清屏,请注意:        3. 输出文件的文件名请和代码文件名保持一致:        4. 若无限循环输出AC未停,则很可能正确:输出WA并跳出那就WA了:        5. WA时输出两份答案,被测在前,AC在后:        6. enjoy coding: 代码: 1 #!/bin/bash 2 3 clear; # 清屏 4 read -p "输入被测源代码名称(不含拓展名):&q

Linux下GDB调试与对拍(先挖个坑)

应为NOIP要复赛在NOI-Linux下编写程序,所以被迫选择Vim+Gdb(主要是Guide太丑了). 虽然GUIDE的调试功能已经对付大多数的调试,反正学一学GDB的使用也没什么坏处. 1 生成调试信息 要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中.使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点.如: gcc -g hello.c -o hello g++ -g hello.cpp -o hello 如果没有-g,你将看不见程序的函数名.变量名,