最近博客顺序这么乱,现在才写个关于对拍的博客… 但我确实希望展示我认为很方便的代码 就当我是来水博客的吧
都是windows下需要注意的,毕竟只了解一点点.bat,.sh还没看过 windows下本文bat文件使用姿势都大体是形如ck.bat prz ck随便改,prz为程序名自行调整 注意开好文件(这我没办法自动化),剩下应该都自动化了 推荐使用顺序是在操作目录下Shift+右键选择 在此处打开命令窗口 ,这样来完成一系列操作当然是最方便的 根据需求自己微调一下bat
大体框架来自这里 要看注释可以去那不过我觉得我优化的地方已经很多了 m代表make,r代表right,什么都没有就是需要对拍的啦(好废话…) 放在目录里的文件形如 przm.cpp przr.cpp prz.cpp 要是错了应该就直接gdb了,就没写del啦 记得开文件
@echo off g++ -g -o %1m %1m.cpp g++ -g -o %1 %1.cpp g++ -g -o %1r %1r.cpp :AC %1m %1 %1r fc %1.out %1r.out if errorlevel=1 goto WA echo AC goto AC :WA echo WA pause暂时全部来自这里… 鸣谢原作,如果不行的话通知我我会立刻删除…
while true; do ./make>tmp.in #出数据 ./tmp<tmp.in>tmp.out #被测程序 ./tmp2<tmp.in>tmp2.out #正确(暴力)程序 if diff tmp.out tmp2.out; then #比较两个输出文件 printf AC #结果相同显示AC else echo WA #结果不同显示WA,并退出 #cat tmp.out tmp2.out exit 0 fi #if的结束标志,与C语言相反,0为真 done # while的结束标志 #BY NICK WONG 2014-08-29 #在终端下,进入当前目录,输入"sh ./nick.sh",(其中nick.sh为当前shell脚本名) '#'表示单行注释 #diff在两文件相同时返回空串目前仅有windows下 好的我承认结构都是《数学一本通》-林厚从 的数据包里的.bat里来的,加上了自己的一些优化 放到数据包里,在数据包里的目录开命令行好废话… 记得开文件
@echo off g++ -g -o %1 %1.cpp if "%2"=="" goto loop copy %1%2.in %1.in >nul echo Problem Test echo Data %1 type nul > enter time<enter %1.exe time<enter fc %1.out %1%2.out del %1.in del %1.out del enter del %1.exe pause goto end :loop for %%i in (0 1 2 3 4 5 6 7 8 9 10) do call %0 %1 %%i :end