众所周知 牛客和一些网站是看不到输入数据的

哎 至少像CF那样看个部分也好啊

然后其中一些,我们可以靠错误类型来估计输入值的方法。

对于C++

如果一个oj可以 cerr<<"some thing"<<endl;那也就不需要下面的方法了。

assert(你认为应该满足的布尔表达式),这种的好处是 错误能知道是哪一个assert炸了

throw 0,throw "" 可惜的是看不到具体的throw的值,但是会报告类型,所以还是能做点二分 三分 估计一下输入数据的量

((void (*)(void))n)(); 强制转化成一个非法函数指针然后调用,会出现”段错误“,注意这里最好是一个输入后的运算值,如果是常数,可能会被编译器优化掉。

当然如果你的代码明显不会超时,你可以做不会被优化的长循环来触发超时。

剩下的就是各种你能想到的运行时错误了,只要在oj平台返回能有区别的,你都可以用来配合if做估计。

结语

当然不要过于依赖这个方法,多练习静态看代码,和自己写测试数据调试。