对于现在的测试样例:
从某一个点向上、下、左、右四个方向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真的找不到啊