众所周知 牛客和一些网站是看不到输入数据的
哎 至少像CF那样看个部分也好啊
然后其中一些,我们可以靠错误类型来估计输入值的方法。
对于C++
如果一个oj可以 cerr<<"some thing"<<endl;
那也就不需要下面的方法了。
assert(你认为应该满足的布尔表达式)
,这种的好处是 错误能知道是哪一个assert炸了
throw 0
,throw ""
可惜的是看不到具体的throw的值,但是会报告类型,所以还是能做点二分 三分 估计一下输入数据的量
((void (*)(void))n)();
强制转化成一个非法函数指针然后调用,会出现”段错误“,注意这里最好是一个输入后的运算值,如果是常数,可能会被编译器优化掉。
当然如果你的代码明显不会超时,你可以做不会被优化的长循环来触发超时。
剩下的就是各种你能想到的运行时错误了,只要在oj平台返回能有区别的,你都可以用来配合if做估计。
结语
当然不要过于依赖这个方法,多练习静态看代码,和自己写测试数据调试。