如果MLE了,可以看一下
查看原帖
如果MLE了,可以看一下
1143771
codemonkey1024楼主2024/4/27 10:04

对于现在的测试样例: 从某一个点向上、下、左、右四个方向dfs时,理论上,不论是按上、下、左、右的顺序依次dfs还是按下、上、左、右的顺序依次dfs,都不会影响结果。但最后两个测试点数据太大了,导致如果按下、右、左、上这个顺序依次dfs的话,会MLE。 int dx[] = { 1,0,-1,0 }; int dy[] = { 0,1,0,-1 };可行

int dx[] = { 0,-1,0,1 }; int dy[] = { -1,0,1,0 };可行

int dx[] = { 1,0,-1,0 }; int dy[] = { 0,1,0,-1 };可行

//int dx[] = { 0,1,-1,0 }; //int dy[] = { 1,0,0,-1 };不行,会MLE 哎,那么多可行的方向,结果偏偏选了这个破方向。 关键这种错误,不是程序的bug,而是程序和测试样例共同孕育的bug,光从自己的程序出发去找bug真的找不到啊

此外,如果你试图去判断一个点的x或y坐标小于0,认为,这样就要中止dfs了,也会导致MLE(我也不知道为什么,实践出真知)

2024/4/27 10:04
加载中...