Problem Description
为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每一个通道都是单向的,就是说若称某通道连通了A房间和B房间,仅仅说明能够通过这个通道由A房间到达B房间,但并不说明通过它能够由B房间到达A房间。Gardon须要请你写个程序确认一下是否随意两个房间都是相互连通的,即:对于随意的i和j,至少存在一条路径能够从房间i到房间j,也存在一条路径能够从房间j到房间i。
Input
输入包括多组数据,输入的第一行有两个数:N和M,接下来的M行每行有两个数a和b,表示了一条通道能够从A房间来到B房间。文件最后以两个0结束。
Output
对于输入的每组数据,假设随意两个房间都是相互连接的,输出"Yes",否则输出"No"。
Sample Input
3 3
1 2
2 3
3 1
3 3
1 2
2 3
3 2
0 0
Sample Output
Yes
No
#include<stdio.h>
#include<iostream>
#include<malloc.h>
using namespace std;
typedef struct nnn
{
int u;
struct nnn *next;
}*List,list; List linkList[10005];
int stack[10005],sn;
int dfn[10005],low[10005],vist[10005],deep,flog,n;
void addNode(List &p,int uu)
{
List q=(List)malloc(sizeof(list));
q->u=uu;
q->next=p->next;
p->next=q;
}
void DFS(int v)
{
List p=linkList[v]->next;
deep++; vist[v]=1;
stack[++sn]=v;
dfn[v]=low[v]=deep; while(p!=NULL)
{
int u=p->u;
if(vist[u]==0)
{
DFS(u);
low[v]=(low[v]<low[u])?low[v]:low[u];
if(flog) return ;
}
else low[v]=(low[v]<dfn[u])?low[v]:dfn[u];
p=p->next;
}
if(low[v]==dfn[v])//表示在栈中的当前点到栈顶的点组成一个强连通
{
if(v!=1)flog=1;//假设v!=1表明可能有多个强连通
else if(sn!=n)flog=1;//v=1了可是这个强连通中点的个数为sn个
}
}
int main()
{
int m,v,u;
while(scanf("%d%d",&n,&m)>0&&n+m!=0)
{
for(int i=1; i<=n; i++)
{
linkList[i]=(List)malloc(sizeof(list));
vist[i]=0; linkList[i]->next=NULL;
}
while(m--)
{
scanf("%d%d",&v,&u);
addNode(linkList[v],u);
}
flog=0; deep=0; sn=0;
DFS(1);
if(flog)printf("No\n");
else printf("Yes\n");
}
}

hdu1269迷宫城堡 (强连通Tarjan+邻接表)的更多相关文章

  1. HDU1269迷宫城堡(裸Tarjan有向图求强连通分量个数)

    迷宫城堡Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  2. HDU1269 迷宫城堡 —— 强连通分量

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1269 迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    M ...

  3. HDU11269 迷宫城堡(强连通分量)

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  4. HDU1269 迷宫城堡 2016-07-24 13:47 84人阅读 评论(0) 收藏

    迷宫城堡 Problem Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的 ...

  5. HDU-1269 迷宫城堡(连通分量)

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  6. hdu 1269 迷宫城堡 强连通分量

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  7. HDU1269 迷宫城堡(裸强连通分量)

    Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A ...

  8. HDU1269 迷宫城堡

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  9. 【HDOJ 1269】迷宫城堡(tarjan模板题)

    Problem Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若 ...

随机推荐

  1. hdu 5839(三维几何)

    Special Tetrahedron Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  2. (转)Where与Having的总结

    Where 是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的,且Where中不能使用聚合函数. Having 是一个过滤声明,是在查询返回结果集以后对查询结果进 ...

  3. [hdu3934] 凸包 旋转卡壳

    大致题意: 求多边形的最大内接三角形 旋转卡壳 模板题 #include<cstdio> #include<iostream> #include<cstring> ...

  4. CodeForces 803A Maximal Binary Matrix

    枚举. 枚举对角线上放多少个$1$,剩余的贪心放,更新答案. #include <iostream> #include <cstdio> #include <cstrin ...

  5. Linux_x86_Pwn溢出漏洞

    基础栈溢出:未开启任何保护的程序 漏洞程序源码 #include <stdio.h>#include <stdlib.h>#include <unistd.h>​v ...

  6. linux——(7)了解shell

    概念一:什么是shell 用户用来和内核交互的东西,他相当一个接口,我们通过这个接口调用别的程序,然后他调用内核来帮我们完成程序功能.shell有很多种类,他们之间有部分区别,Linux默认使用bas ...

  7. [BZOJ4591][SHOI2015]超能粒子炮·改(Lucas定理+数位DP)

    大组合数取模可以想到Lucas,考虑Lucas的意义,实际上是把数看成P进制计算. 于是问题变成求1~k的所有2333进制数上每一位数的组合数之积. 数位DP,f[i][0/1]表示从高到低第i位,这 ...

  8. 【推导】【贪心】【高精度】Gym - 101194E - Bet

    题意:每个队伍有个赔率pi,如果你往他身上押x元,它赢了,那么你得到x+(1/pi)x元,否则你一分都得不到.问你最多选几支队伍去押,使得存在一种押的方案,不论你押的那几支队伍谁赢,你都能赚得到钱. ...

  9. hdu 4240 最大流量路径

    题意弄了半天: 给出一个有向图,带边权,src,dst. 求出src到dst的最大流,再求出从src到dst流量最大的路径的流量,求它们的比值. #include <cstdio> #in ...

  10. HTTP状态码,400,404,500,503

    HTTP状态码(HTTP Status Code) 一些常见的状态码为: 200 - 服务器成功返回网页 400 服务器不理解请求的语法 404 - 请求的网页不存在 503 - 服务不可用 所有状态 ...