迷宫城堡--HDOJ 1269(Tarjan)
迷宫城堡
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5732    Accepted Submission(s): 2543
1 2
2 3
3 1
3 3
1 2
2 3
3 2
0 0
/*=====================================================================
# Author: wangzhili
# Mail : wangstdio.h@gmail.com
# QQ : 240130760
# Filename: tarjan.c
# Last modified: 2013-12-06 09:18
=====================================================================*/ #include<stdio.h>
#include<string.h>
typedef struct
{
int to;
int next;
}EdgeNode;
EdgeNode edge[];
int dfn[],low[];
int head[],vis[];
int stack[];
int top,ind,cnt,n,m;
int min(int x,int y)
{
return x < y ? x : y;
} void tarjan(int i)
{
int j,v;
dfn[i] = low[i] = ++ind;
stack[++top] = i;
vis[i] = ;
for(j = head[i]; j != -;j = edge[j].next)
{
v = edge[j].to;
if(!dfn[v])
{
tarjan(v);
low[i] = min(low[i],low[v]);
}
else if(vis[v])
low[i] = min(low[i],dfn[v]);
}
if(dfn[i] == low[i])
{
cnt ++;
do
{
j = stack[top--];
vis[j] = ;
}while(j != i);
}
}
void solve()
{
int i;
cnt = ;
top = ind = ;
memset(dfn,,sizeof(dfn));
memset(vis,,sizeof(vis));
for(i = ;i <= n;i ++)
{
if(!dfn[i])
tarjan(i);
}
return ;
} int main()
{
int i,j;
int a,b;
freopen("in.c","r",stdin);
while(~scanf("%d%d",&n,&m) && (m+n))
{
memset(head,-,sizeof(head));
for(i = ;i < m;i ++)
{
scanf("%d%d",&a,&b);
edge[i].to = b;
edge[i].next = head[a];
head[a] = i;
}
solve();
if(cnt == )
printf("Yes\n");
else
printf("No\n");
}
return ;
}
迷宫城堡--HDOJ 1269(Tarjan)的更多相关文章
- 迷宫城堡--HDOJ 1269
		迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ... 
- HDOJ迷宫城堡(判断强连通 tarjan算法)
		Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ... 
- 迷宫城堡 HDU - 1269  判断有向图是否是强连通图
		为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以 ... 
- HDU 1269 迷宫城堡(强连通)
		HDU 1269 迷宫城堡 pid=1269" target="_blank" style="">题目链接 题意:中文题 思路:强连通模板题 代 ... 
- hdoj 1269 迷宫城堡【scc基础题目】
		迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ... 
- HDU 1269 迷宫城堡(判断有向图强连通分量的个数,tarjan算法)
		迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ... 
- HDU 1269 迷宫城堡(向量)(Tarjan模版题)
		迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ... 
- HDU 1269.迷宫城堡-Tarjan or 双向DFS
		迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ... 
- hdu 1269 迷宫城堡 (tarjan)
		迷宫城堡Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ... 
随机推荐
- OC - 9.使用Quartz2D绘制下载进度条
			效果图 实现思路 要实现绘图,通常需要自定义一个UIView的子类,重写父类的- (void)drawRect:(CGRect)rect方法,在该方法中实现绘图操作 若想显示下载进度,只需要实例化自定 ... 
- java新手笔记11 类的静态属性、方法(单例)
			1.Person类 package com.yfs.javase; public class Person { String name;//每个对象上分配 与对象绑定 int age; char se ... 
- 05_天气查询_JAX-WS方式_客户端
			[客户端特点] 支持面向对象开发. 客户端功能调用webService,首先得知道WebService的地址. 一般情况下,只要知道了wsdl的地址,就可以知道WebService的地址. 我们上一篇 ... 
- Lua数组排序
			代码 network = { {name = "grauna", IP = "210.26.30.34"}, {name = "arraial&quo ... 
- Demo_张仕传_结构体考试-modify
			/* 题目: //声明一个结构体类型 struct _AdvTeacher { char *name; char *tile; int age; char *addr; char *p1; //系统预 ... 
- ASP.NET缓存 Cache
			缓存介绍 如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差,而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能,这样无论多 ... 
- github 查看单个文件的历史记录命令
			gitk 安装: apt-get install gitk 点击打开链接http://stackoverflow.com/questions/278192/view-the-change-histor ... 
- Java调用.Net WebService参数为空解决办法 (远程)调试webservice方法 转
			Java调用.Net WebService参数为空解决办法 (远程)调试webservice方法 同事遇到一个很囧的问题,java调,netwebservice的时候,调用无参数方法成功,调用有参 ... 
- 『奇葩问题集锦』npm install 报错 node-pre-gyp ERR! node-pre-gyp -v v0.6.25
			gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you ... 
- XMLHttpRequest 使用概括
			***********************************************XMLHttpRequest对象初始化:********************************* ... 
