/**
[tree]hdu 1272 小希的迷宫
判断一个图是不是树
1,没有圈 2,edgeNum + 1 == verNum
这题比较坑的是注意空图直接yes
*/
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define N 100001
int vis[N],f[N];
int a,b,edgeNum = 0,verNum = 0,flag;
int getF(int x)
{
return x == f[x] ? x : getF(f[x]);
}
void cal()
{
++edgeNum;
if(!vis[a])
++verNum;
if(!vis[b])
++verNum;
vis[a] = vis[b] = 1;
if(flag == 0)
return ;
a = getF(a);
b = getF(b);
if(a == b)
{
flag = 0;
return ;
}
f[a] = b;
}
int main()
{
while(scanf("%d%d",&a,&b) == 2 && a != -1)
{
if(a == 0)
{
printf("Yes\n");
continue;
}
for
[tree]hdu 1272 小希的迷宫
迷宫判断:HDU 1272 小希的迷宫
最新推荐文章于 2020-03-16 17:47:39 发布
该程序用于判断一个图是否为树,条件是无环且边数加一等于顶点数。程序通过并查集实现,包括处理空图的情况,并对输入的边进行连接和合并操作,最后判断是否满足树的特性。
订阅专栏 解锁全文
11万+

被折叠的 条评论
为什么被折叠?



