1、要记得遍历后让vis[x][y] = true;
2、在对所有满足条件的点做DFS时,直接用两层循环,不要每次都遍历查看哪个符合条件的点还没用到
for (int i = 0; i < m; ++i) {
for (int j = 0; j < n; ++j) {
if (check(i, j)) {
DFS(i, j);
ans++;
}
}
}
3、
return -1永远不会用到,return的值永远在[0, 100000],但是不加这一行poj就会wa,我怀疑是编译器的锅,POJ 3278。下次如果有返回值的话,最好不要把它写在循环里,把它写在最外面吧