hdoj 1272 小希的迷宫【并查集】
来源:互联网 发布:淘宝商家可以看到买家 编辑:程序博客网 时间:2024/06/01 08:07
小希的迷宫
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 34545 Accepted Submission(s): 10573
整个文件以两个-1结尾。
6 8 5 3 5 2 6 45 6 0 08 1 7 3 6 2 8 9 7 57 4 7 8 7 6 0 03 8 6 8 6 45 3 5 6 5 2 0 0-1 -1
YesYesNo
#include<cstdio>
#include<cstring>
#include<cstdlib>
#define N 100000
using namespace std;
int pre[N+100];
int vip[N+100];
int flag;
int find (int n)
{
int r=n;
while(r!=pre[r])
r=pre[r];
// int i,j;
// i=n;
// while(i!=r)
// {
// j=pre[r];
// pre[i]=r;
// i=j;
// }
pre[n]=r;
return r;
}
int join(int x,int y)
{
int f1,f2;
f1=find(x);
f2=find(y);
if(f1!=f2)
pre[f1]=f2;
else
flag=0;
}
int main()
{
int a,b;
// flag=1;
while(scanf("%d %d",&a,&b)!=EOF)
{
if(a==-1&&b==-1)
break;
if(a==0&&b==0)
{
printf("Yes\n");
continue;
}
for(int i=1;i<=100000;i++)
{
pre[i]=i;
vip[i]=0;
}
vip[a]=1;
vip[b]=1;
flag=1;
join(a,b);
while(scanf("%d %d",&a,&b),a||b)
{
vip[a]=1;
vip[b]=1;
join(a,b);
}
int ans=0;
for(int i=1;i<=100000;i++)
{
if(pre[i]==i&&vip[i])
ans++;
if(ans>1)
{
flag=0;
break;
}
}
//if(ans)
if(flag)
printf("Yes\n");
else printf("No\n");
}
return 0;
}
- HDOJ 1272 小希的迷宫 (并查集)
- HDOJ 1272 小希的迷宫 (并查集)
- HDOJ 1272 小希的迷宫(并查集)
- HDOJ 1272 小希的迷宫(并查集)
- hdoj 1272 小希的迷宫【并查集】
- hdoj 1272 小希的迷宫 【并查集】
- hdoj--1272--小希的迷宫(并查集)
- HDOJ 1272 小希的迷宫(并查集)
- HDOJ 1272 小希的迷宫(并查集)
- HDOJ 1272 小希的迷宫 (并查集)
- hdoj 1272 小希的迷宫(并查集)
- [HDOJ]problem_1272【小希的迷宫】并查集
- HDOJ-小希的迷宫 水并查集
- HDOJ 1272 小希迷宫 (并查集)
- HDOJ 1272 小希的迷宫(并查集的应用)
- HDOJ 题目1272 小希的迷宫(并查集)
- hdoj problem 1272小希的迷宫 (并查集&&动态规划)
- hdoj.1272 小希的迷宫【并查集】 2015/07/23
- hdoj-1159-Common Subsequence【动态规划求最长公共子序列】
- 并查集的简单例题
- 容器使用笔记(扩展篇)
- 制作svg动画
- 关于windows server 2008 连接oracle数据库响应极慢的问题
- hdoj 1272 小希的迷宫【并查集】
- poj3253 Fence Repair
- next数组介绍
- 黑马程序员———死锁
- tkinter菜单笔记=>持续更新
- 经典中的经典Unique Binary Search Trees II
- HALCON算子函数——Chapter 13 : Object
- HDU 4160 — Dolls 最小路径覆盖
- c语言中冒泡排序、插入排序、选择排序算法比较