【无聊放个模板系列】HDU 1269 (SCC)
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<cmath>
#include<stack>
using namespace std;
#define Maxn 10010
#define Maxm 100010 struct node
{
int x,y,next;
}t[Maxm];int len;
int first[Maxn]; void ins(int x,int y)
{
t[++len].x=x;t[len].y=y;
t[len].next=first[x];first[x]=len;
} int mymin(int x,int y) {return x<y?x:y;} int dfn[Maxn],low[Maxn],cnt,scc;
stack<int > s;
bool inst[Maxn]; void dfs(int x,int f)
{
dfn[x]=low[x]=++cnt;
inst[x]=;s.push(x);
for(int i=first[x];i;i=t[i].next) if(t[i].y!=f)
{
int y=t[i].y;
if(dfn[y]==)
{
dfs(y,x);
low[x]=mymin(low[x],low[y]);
}
else if(inst[y]) low[x]=mymin(low[x],dfn[y]);
}
if(low[x]==dfn[x])
{
int z;scc++;
while()
{
z=s.top();s.pop();
inst[z]=;
if(z==x) break;
}
}
} int main()
{
while()
{
int n,m;
scanf("%d%d",&n,&m);
if(n==&&m==) break;
len=;
memset(first,,sizeof(first));
for(int i=;i<=m;i++)
{
int x,y;
scanf("%d%d",&x,&y);
ins(x,y);
}
cnt=;scc=;
memset(dfn,,sizeof(dfn));
memset(inst,,sizeof(inst));
for(int i=;i<=n;i++) if(dfn[i]==) dfs(i,);
if(scc==) printf("Yes\n");
else printf("No\n");
}
return ;
}
SCC
2016-11-17 20:56:27
【无聊放个模板系列】HDU 1269 (SCC)的更多相关文章
- 【无聊放个模板系列】HDU 3506 (四边形不等式优化DP-经典石子合并问题[环形])
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...
- 【无聊放个模板系列】HDU 1358 KMP
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...
- 【无聊放个模板系列】HDU 3068 MANACHER
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...
- 【无聊放个模板系列】BZOJ 3172 (AC自动机)
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...
- 【无聊放个模板系列】BZOJ 1597 斜率优化
STL 双向队列DEQUE版本 #include<cstdio> #include<cstdlib> #include<cstring> #include<i ...
- 【无聊放个模板系列】POJ 3678 2-SAT
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...
- 【无聊放个模板系列】POJ 1274 (匈牙利)
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...
- 【无聊放个模板系列】POJ2752 EXKMP
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...
- 连通图模板(HDU 1269)
http://acm.hdu.edu.cn/showproblem.php?pid=1269 题目大意:给定一个图,判断该图是否是强连通图.(强连通图为从任意一点出发,可到达其他所有点).深搜的Tar ...
随机推荐
- CSS实现半透明的方法
IE8不支持以前{filter:alpha(opacity=50);}的私有属性, 转而支持更规范的私有属性-ms-filter: “progid:DXImageTransform.Microsoft ...
- 用ASP取出HTML里面的图片地址的函数
用ASP取出HTML里面的图片地址的函数主要原理就是用正则判断的属性.这在采集程序中将非常有用. 函数如下: 以下是引用片段: Function ShowPic(str) Set objRegExp ...
- python学习第二天:数字与字符串转换及逻辑值
1.数字与字符串的转化 #1.数字转字符,使用格式化字符串: *1.demo = ‘%d’ % source *2.%d整型:%f 浮点型 :%e科学计数 ...
- 在有大量数据时 少用In(数据会丢失) 用left join 代替
select @From, @To, EffectiveDate, GETDATE(), Rate from Config_Currency_ExchangeRate_Temp where Effec ...
- mybatis关联查询
场景:一个人有多个手机号,一个手机号对应一个人 CREATE TABLE test.mobile ( mid INT NOT NULL auto_increment, tel ), pid INT, ...
- thymeleaf的初次使用(带参请求以及调用带参js方法)
之前对于前端框架接触较少,第一次接触thymeleaf,虽说看起来并不复杂但我还是花费了好一会儿才弄懂. 话不多少下面就简单说一下我在项目中的应用. 首先是java代码 controller层 将需要 ...
- InstallShield Custom Dialog
InstallShield 2008 Screen Layout is designed as below. Use toolbox to edit screen layout. 1> Set ...
- java 的输入/输出
java 的输入/输出 java的 I/O是通过java.io包下的类和接口支持, 其中最重要的是5个类,分别是 File,OutputStream,InputStream, Write,Reader ...
- JS 日期格式转换
//Json 数据年月日 返回 直接传入参数 如/Date(1379433600000)/ function GetDate(date) { if (date == null) return null ...
- sprintf函数php的详细使用方法
PHP sprintf() 函数 先说下为什么要写这个函数的前言,这个是我在微信二次开发的一个token验证文档也就是示例文档看到的一个函数,当时非常不理解,于是查了百度,但是很多结果都很笼统,结果也 ...