解题poj1669 C++代码
时间: 2023-11-14 18:31:32 浏览: 88
本题为棋盘问题,需要用到DFS搜索。
首先需要对输入进行处理,将输入的棋盘中的点转化成坐标(x,y),并将其存入一个vector<vector<pair<int, int>>> >中。注意坐标的范围是1~8,而数组下标是0~7,需要进行一定的转换。
接着进行DFS搜索,对于每一个点,需要判断其是否已经被访问过,如果访问过,直接返回;如果没有访问过,将其标记为已访问,并且遍历与其相邻的8个方向(注意边界),如果相邻点没有被访问过,就继续进行DFS搜索。
最后,需要对每一个点进行遍历,如果发现该点没有被访问过,就将结果加1,并继续进行DFS搜索。
完整代码如下:
阅读全文