【ACM】HDU.1272 小希的迷宫【并查集】
1、结点序号不是严格按顺序排列的! 2、有空树的情况(即只输入: 0 0),不判断会WA 判断是否 只有一个集合 且 没有回路(路径条数 >= 节点数) AC程序(C++): /************************** *@Author: 3stone *@ACM: HDU.1272 小希的迷宫 *@Time: 18/6/12 *@IDE: VS Code ***************************/ #include<cstdio> #include<algorithm> #include<cstring> #define maxn 100005 using namespace std ; int far[maxn]; //并查集 bool exit_flag[maxn]; //记录结点是否已经出现 int sum_of_set; //集合数 int num_of_road, num_of_node; //路径数,节点数 //初始化 void initiate( int n) { for ( int i = 0 ; i < n; i++) far[i] = i; } //查找根节点(迭代版) int find_root( int a) { int root = a; while (root != far[root]) root = far[root]; /