hdu 1269 求连通图的模板题
#include<stdio.h>
#include<string.h>
#include<iostream>//只存在一个连通分量
#include<string.h>
using namespace std;
#define N 11000
#define NN 110000
struct node {//链表实现
int v,next;
}bian[NN];
int sta[N];//数组模拟寨
int top,dfn[N],low[N],yong,visit[N],head[N],index,ans;
void addedge(int u,int v) {
bian[yong].v=v;
bian[yong].next=head[u];
head[u]=yong++;
}
int min(int a,int b) {
return a>b?b:a;
}
void tarjan(int u) {//tarjan算法
int i;
dfn[u]=low[u]=++index;
sta[++top]=u;
visit[u]=1;
for(i=head[u];i!=-1;i=bian[i].next) {
int v=bian[i].v;
if(!dfn[v]) {
tarjan(v);
low[u]=min(low[u],low[v]);
}
else
if(visit[v]==1)
low[u]=min(low[u],dfn[v]);
}
if(dfn[u]==low[u]) {
int t;
ans++;
do{
t=sta[top--];
visit[t]=2;
}while(t!=u);
}
}
int main() {
int n,m,i,j,k;
while(scanf("%d%d",&n,&m),n||m) {
memset(head,-1,sizeof(head));
memset(dfn,0,sizeof(dfn));
memset(low,0,sizeof(low));
memset(visit,0,sizeof(visit));
yong=0;
top=0;
memset(sta,0,sizeof(sta));
while(m--) {
scanf("%d%d",&i,&j);
addedge(i,j);
}
ans=0;
index=0;
for(i=1;i<=n;i++)
if(visit[i]!=2) {
tarjan(i);
if(ans>1)//如果有多个连通分量就直接退出
break;
}
if(ans>1)
printf("No\n");
else
printf("Yes\n");
}
return 0;
}
hdu 1269 求连通图的模板题的更多相关文章
- HDU 5521.Meeting 最短路模板题
Meeting Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ...
- hdu 2544 hdu 1874 poj 2387 Dijkstra 模板题
hdu 2544 求点1到点n的最短路 无向图 Sample Input2 1 //结点数 边数1 2 3 //u v w3 31 2 52 3 53 1 20 0 Sample Output32 ...
- HDU 1711 - Number Sequence - [KMP模板题]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Time Limit: 10000/5000 MS (Java/Others) Memory L ...
- hdu1115 Lifting the Stone(几何,求多边形重心模板题)
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:pid=1115">http://acm.hdu.edu.cn/showproblem.php ...
- HDU 2222(AC自动机模板题)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2222 题目大意:多个模式串.问匹配串中含有多少个模式串.注意模式串有重复,所以要累计重复结果. 解题 ...
- HDU 2544 最短路(模板题——Floyd算法)
题目: 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你 ...
- HDU 3966 Aragorn's Story(模板题)【树链剖分】+【线段树】
<题目链接> 题目大意: 给定一颗带点权的树,进行两种操作,一是给定树上一段路径,对其上每个点的点权增加或者减少一个数,二是对某个编号点的点权进行查询. 解题分析: 树链剖分的模板题,还不 ...
- HDU 1711Number Sequence【KMP模板题】
<题目链接> 题目大意: 意思是给出两个串,找出匹配串在模式串中的位置. 解题分析: KMP算法模板题. #include <cstdio> #include <cstr ...
- HDU 1114 Piggy-Bank(完全背包模板题)
完全背包模板题 #include<cstdio> #include<cstring> #include<algorithm> using namespace std ...
随机推荐
- HTML 5语义元素
- Linq 内连接和外连接(转载)
一.内连接 Model1Container model = new Model1Container(); //内连接 var query = from s in model.Student join ...
- 【转】MySQL常见的运算符及使用
转自:http://www.linuxidc.com/Linux/2016-03/129672.htm MySQL中有4类运算符,它们是: 算术运算符 比较运算符 逻辑运算符 位操作运算符 算术操作符 ...
- Hadoop Hive概念学习系列之hive的索引及案例(八)
hive里的索引是什么? 索引是标准的数据库技术,hive 0.7版本之后支持索引.Hive提供有限的索引功能,这不像传统的关系型数据库那样有“键(key)”的概念,用户可以在某些列上创建索引来加速某 ...
- 国内使用pip / pip with GFW / pip 镜像
sudo pip install -i https://pypi.doubanio.com/simple/ YOUR_PACKAGE_NAME --trusted-host pypi.doubanio ...
- [Python实战] 功能简单的数据查询及可视化系统
前言 数据时代,数据的多源集成和快速检索查询是第一步,配上数据分析及可视化才能算窥得大数据一角. 创建这个项目的主要目的一是对前期工作的一些总结,二是提升自己. 这里简单介绍一下sqlpro这个项目的 ...
- python中os模块中文帮助
python中os模块中文帮助 python中os模块中文帮助文档文章分类:Python编程 python中os模块中文帮助文档 翻译者:butalnd 翻译于2010.1.7——2010.1.8 ...
- PendingIntent 显示通知
安卓显示通知 PendingIntent pendingIntent=PendingIntent.getActivity(Media.this,0, new Intent(Media.this,Med ...
- quartz在集群环境下的最终解决方案
在集群环境下,大家会碰到一直困扰的问题,即多个 APP 下如何用 quartz 协调处理自动化 JOB . 大家想象一下,现在有 A , B , C3 台机器同时作为集群服务器对外统一提供 SERVI ...
- 创建密码带有特殊字符的dblink
使用的是data studio,所以末尾不加分号 create database link link_to_143 connect " using '(DESCRIPTION = (ADDR ...