函数式交互题的本地测试方式
交互题的本地测试方式
这里仅说了函数式交互,\(IO\)式交互我会尽快补上
\(upd: 5.28\ 22:34\)本地实现\(IO\)交互较为困难,作者也不是很会,或许可以自己和标程手动交互,如果有\(dalao\)有什么好方法可以评论,我会加上的,QAQ
前言:由于一些原因没有及时提供帮助,在这里写一下来弥补一下造成的损失
本人使用学校机房电脑,操作系统\(Win7\)
以\(IOI2021\)地牢游戏为例
我们首先在\(Loj\)把出题人提供的以供交互的代码下载下来(文章最下面有整合下来的压缩包)
我们现在把标程(自己写的)代码和出题人提供的压缩包放入一个目录下,如下图所示
然后解压到当前文件夹
解压后有一个\(cpp\)文件夹,里面有
两个\(.sh\)后缀文件,大概是帮忙编译的,但是我们不用!我们自己编译!
更改:关于\(.sh\)后缀文件的说明,感谢@Liking_Cpp_In_Luogu的教导
\(dungeons.cpp\)可以使用你的标程(把你的标程拖进来覆盖即可)代替,这个程序只是提供了这个你的标程如何去写的一个模板
\(grader.cpp/dungeons.h\)是交互要使用的程序
我们按下\(Windows+R,\)在运行里面输入\(cmd,\)出现窗口,如下图所示
看一下我们目录所在位置
然后一直\(cd\)知道进入你的文件夹(在你输入完\(cd\)之后,可使用\(tab\)键寻找你的目标文件夹)
然后输入指令
g++ dungeons.cpp dungeons.h grader.cpp -o dungeons.exe
这时候文件夹内出现了\(dungeons.exe\)
\(tips:\)作者在实践时发现\(dungeons.exe\)在输完数据之后输出完之后直接退出,在\(grader.cpp\)加入\(system("pause"),getchar()\)无果,就把输出改成了文件输出
我们把样例拖入当前文件夹,点击\(dungeons.exe,\)并且输入数据
然后得到\(ans.out,\)与\(01.out\)对比发现一致
可以自己实践一下