小希的迷宫(HDU 1272 并查集判断生成树)
小希的迷宫
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 38870 Accepted Submission(s): 11921

整个文件以两个-1结尾。
6 8 5 3 5 2 6 4
5 6 0 0
8 1 7 3 6 2 8 9 7 5
7 4 7 8 7 6 0 0
3 8 6 8 6 4
5 3 5 6 5 2 0 0
-1 -1
当存在环或者连通分量不为1时则不满足,没想到的是一开始就可以输入0 0,此时就要输出Yes;然后脑残把continue写成了break WA了好几次
在进行路径压缩时如果用return per[x]=find(per[x])会出现栈溢出,但#pragma comment(linker, "/STACK:1024000000,1024000000")可手动扩展。
此代码使用的循环压缩路径
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <set>
using namespace std;
#define Max 100000+10
int per[Max];
int num[Max*];
int flag;
void init()
{
for(int i=;i<Max;i++)
per[i]=i;
return;
}
int find(int a)
{
if(a==per[a])
return a;
int root=a,t=a,tmp;
while(root!=per[root]) //找到根节点
root=per[root];
while(per[t]!=root)
{
tmp=per[t];
per[t]=root;
t=tmp;
}
return root;
}
void unite(int a,int b)
{
a=find(a);
b=find(b);
if(a!=b)
per[a]=b;
else
flag=; //判断成环操作
}
int main()
{
int a,b;
int i,j;
freopen("in.txt","r",stdin);
while()
{
init();
set<int> s;
flag=;
i=;
int k=;
scanf("%d%d",&a,&b);
if(a==-&&b==-)
break;
if(a==&&b==)
{
printf("Yes\n");
continue;
}
unite(a,b);
s.insert(a);
s.insert(b);
while(scanf("%d%d",&a,&b))
{
if(a==&&b==)
break;
unite(a,b);
s.insert(a);
s.insert(b);
}
if(flag==)
{
printf("No\n");
continue;
}
set<int> :: iterator it=s.begin();
for(;it!=s.end();it++)
{
if(per[*it]==*it)
flag--;
}
if(flag==-)
printf("Yes\n");
else
printf("No\n");
}
}
小希的迷宫(HDU 1272 并查集判断生成树)的更多相关文章
- 小希的迷宫 HDU - 1272 (并查集)
思路: 当图中的集合(连通子图)个数为1并且边数等于顶点数-1(即改图恰好为一棵生成树)时,输出Yes. 此题的坑:(1) 如果只输入0 0算作一组数据的话答案应该输出Yes (2) 输入数据可能并不 ...
- POJ 1308&&HDU 1272 并查集判断图
HDU 1272 I - 小希的迷宫 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64 ...
- HDU 1272小希的迷宫(裸并查集,要判断是否构成环,是否是连通图)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1272 小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 1272 小希的迷宫(乱搞||并查集)
小希的迷宫 Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有 ...
- hdoj 1272 小希的迷宫 又一个并查集的简单应用
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 小希的迷宫(hdu1272 并查集)
http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=259#problem/D Description 上次Gardon的迷宫城堡小希 ...
- hdu 1116 并查集判断欧拉回路通路
判断一些字符串能首尾相连连在一起 并查集求欧拉回路和通路 Sample Input 3 2 acm ibm 3 acm malform mouse 2 ok ok Sample Output The ...
- (并查集)小希的迷宫 --HDU -- 1272
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1272 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- HDU1272 小希的迷宫(基础并查集)
杭电的图论题目列表.共计500题,努力刷吧 AC 64ms #include <iostream> #include <cstdlib> #include <cstdio ...
随机推荐
- sublime 插件 和free 注册码
代码对齐: Alignment html代码补全: Emmet CoffeeScript语法: Better CoffeeScript css格式化: CSS Format less语法: L ...
- Linux驱动开发相关
一般用printk 查看/etc/sysconf文件,看看内核调试信息放到了哪里 打印的消息一般放在/var/log/messages文件里面. 如果你是在X Windows下的XTerm中insmo ...
- Best Meeting Point 解答
Question A group of two or more people wants to meet and minimize the total travel distance. You are ...
- 平时的笔记02:处理fnmatch模块
# Copyright 2006 Joe Wreschnig## This program is free software; you can redistribute it and/or modif ...
- 强制IE浏览器或WebBrowser控件使用指定版本显示网页
自从装了IE10之后,就发现好些个网站显示都不是那么的正常,网站上有些功能竟然还会出现一些意想不到的BUG——本来就是针对IE开发的,现在IE下竟然用不起来了,让用户情何以堪?但是就为少量用户使用的系 ...
- IDataParameter调用存储过程
public string GenerateExamePaper(string paperType, string driverID, string MacAddr) { ...
- Vijos1051. 送给圣诞夜的极光
试题请參见: https://vijos.org/p/1051 题目概述 圣诞老人回到了北极圣诞区, 已经快到12点了. 也就是说极光表演要開始了. 这里的极光不是极地特有的自然极光景象. 而是圣诞老 ...
- C. Robot(BFS)
C. Robot Time Limit: 3000ms Case Time Limit: 3000ms Memory Limit: 262144KB 64-bit integer IO format: ...
- Oracle-nomount/mount/open
通常所说的Oracle Server主要由两个部分组成:Instance和Database.Instance是指一组后台进程(在Windows上是一组线程)和一块共享内存区域:Database是指存储 ...
- ASP.NET内核几大对象、ASP.NET核心知识(6)--转载
这篇博文主要介绍一下几个对象. 1)HttpContext 2)HttpRequest 3)HttpResponse 4)context. Server 5)context.Session HttpC ...