用于开发竞赛程序设计问题的 C++ 库
此项目包含了 testlib 的 C++ 实现。它已经在俄罗斯的许多编程竞赛中使用,例如俄罗斯国家信息学奥林匹克和 ICPC 的不同阶段。加入我们吧!
图书馆的 C++ 代码已在不同版本的 g++, clang++ 和 Microsoft Visual C++ 上进行了兼容性测试,支持 C++11 及更高版本。
这个代码在 Codeforces 比赛中已被多次使用。
此示例检查器期望输出和答案中包含相同的整数。它会忽略所有空格。请在包中查看更多示例。
#include "testlib.h"
int main(int argc, char * argv[]) {
setName("compares two signed integers");
registerTestlibCmd(argc, argv);
int ja = ans.readInt();
int pa = ouf.readInt();
if (ja != pa)
quitf(_wa, "expected %d, found %d", ja, pa);
quitf(_ok, "answer is %d", ja);
}此示例交互程序从输入文件中读取数字对,将其发送给另一个程序,读取结果,并将其写入输出文件(以便以后验证)。另一个选项可以是使用 quitf(_wa, <注释>) 终止交互程序。
此代码从标准输入读取输入,检查它只包含一个介于 1 和 100 之间的整数(包含 1 和 100)。它还验证文件是否以 EOLN 和 EOF 结束。在 Windows 上,它期望 EOLN 为 #13#10,而在其他平台上,它期望 EOLN 为 #10。它不会忽略空格,因此工作非常严格。在输入非法的情况下,它将返回非零代码并将消息写入标准输出。请参阅包中的更多示例。
此生成器将随机令牌输出到标准输出,其中包含拉丁字母或数字。令牌的长度将介于 1 和 1000 之间,包括两端。它将使用均匀分布的随机生成器。若要生成不同的值,请使用不同的命令行参数调用它。这是测试程序的典型行为。
暂无开放 Issues,或尚未同步最近议题。