题 意:给你一副图,要求每个模块中不相连的‘X’的数目,最后按照大小输出。
思 路:两个DFS,第一个确定大图中符合要求的模块,主要用来确定该模块中X的位置;第二个DFS用来计算不连通的X的数量了。
学习点:多个DFS的使用,思路要清晰,递归的时候注意边界条件(dfs函数写的不够漂亮)。用c写有些细节还是不如C++方便。
注意点:用一个栈(主要是一个数组)来存储每个模块中X的位置,其中对栈顶指针top的操作要小心,另外结点编号要注意。
源代码:
题 意:给你一副图,要求每个模块中不相连的‘X’的数目,最后按照大小输出。
思 路:两个DFS,第一个确定大图中符合要求的模块,主要用来确定该模块中X的位置;第二个DFS用来计算不连通的X的数量了。
学习点:多个DFS的使用,思路要清晰,递归的时候注意边界条件(dfs函数写的不够漂亮)。用c写有些细节还是不如C++方便。
注意点:用一个栈(主要是一个数组)来存储每个模块中X的位置,其中对栈顶指针top的操作要小心,另外结点编号要注意。
源代码: