算法思想:其实就是dfs,注意每次访问过的黑色瓷砖标记成白色瓷砖,return向四个方向展开。
int digui(int x, int y, char array[][6]) { if (x < 0 || x >= 5 || y < 0 || y >= 5) { return 0; } if (array[x][y] == '#') { return 0; } else {//要么写else,要么写if(array[x][y]=='.'||array[x][y]=='@') array[x][y] = '#';//将已经走过的黑砖设置为白砖防止重复走 //向四个方向递归寻找黑砖,找到一块黑砖,就总数+1. return 1 + digui(x - 1, y, array) + digui(x + 1, y, array) + digui(x, y - 1, array) + digui(x, y + 1, array); } }