链接http://acm.hdu.edu.cn/showproblem.php?pid=1269

求强连通分支的题,为了搞定2-sat问题,开始找这些题做,而且用的是gabow算法,是为了给自己打模板才做的这道题

View Code

#include<stdio.h>
#include<string.h>
#define M 100005
#define N 10005
int head[N];
int t,cnt0,cnt1;
int stk1[N],stk2[N];
int top1,top2;
int time[N],sc[N];
struct edge
{int v;int next;
};
edge e[M];
void init()
{memset(head,-1,sizeof(head));memset(time,-1,sizeof(time));memset(sc,-1,sizeof(sc));t=0;cnt0=0;cnt1=0;top1=0;top2=0;
}
void add(int u,int v)
{e[t].v=v;e[t].next=head[u];head[u]=t++;
}
void gabow(int u)
{time[u]=cnt0++;stk1[top1++]=u;stk2[top2++]=u;int i,j,v;for(i=head[u];i>=0;i=e[i].next){v=e[i].v;if(time[v]==-1)gabow(v);else if(sc[v]==-1)while(time[stk2[top2-1]]>time[v])//如果访问过但是没有归入任何的scc则可以说明这是一个环top2--;}if(stk2[top2-1]!=u)return;top2--;do{sc[stk1[--top1]]=cnt1;//归入scc}while(stk1[top1]!=u);cnt1++;
}
int main()
{int n,m,i,j,k,a,b;while(scanf("%d%d",&n,&m)&&(n||m)){init();for(i=0;i<m;i++){scanf("%d%d",&a,&b);add(a,b);}gabow(1);for(i=1;i<=n;i++)if(sc[i])break;if(i>n)printf("Yes\n");elseprintf("No\n");}return 0;
}

转载于:https://www.cnblogs.com/caozhenhai/archive/2012/05/09/2491081.html

hdoj 1269-迷宫城堡解题报告相关推荐

  1. HDU 1269 迷宫城堡 -- 强连通图判断

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1269 图的强连通分量 http://baike.baidu.com/link?url=NqsmNsGC ...

  2. HDU 1269 迷宫城堡(强连通图的判定)

    最近<算法导论>快看完图论部分了,很多有关图的算法都彻底搞懂并加以证明了.现在主要是将理解的思想用到题目中来加强下.这个题目主要是判断一下整个图是否是强连通的,很简单,可以用tarjan也 ...

  3. HDU - 1269迷宫城堡 -强连通tanjar算法

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

  4. Hdu 1269.迷宫城堡

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

  5. HDOJ 2012 素数判定 解题报告

    今天确实坑爹,, 这么简单的题目都WA好多次,,, 都是细节上的错误, 直接导致崩盘,,额... 好吧,这个完全就是素数判断,没什么好说的 ,, 就是注意flag标记和判断是否符合条件,,其他就是输出 ...

  6. HDOJ 2015 偶数求和 解题报告

    偶数求和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  7. 【HDU - 1269】迷宫城堡 (tarjan算法模板)

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

  8. 【HDU 1269】迷宫城堡 (Tarjan算法)

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

  9. 习题:codevs 2822 爱在心中 解题报告

    这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...

最新文章

  1. quartz定时任务开发cron常用网站
  2. pkg-config简介 pkgconfig
  3. python学习音频-Python 音频数据扩充的技巧
  4. 【移动开发】EditText输入字数限制总结(包括中文输入内存溢出的解决方法)...
  5. Eclipse从SVN恢复本地误删除已删除的文件和代码
  6. 一进庙会freeeim
  7. matlab表示时间集合,matlab集合操作
  8. Spring Boot文件上传示例
  9. Oracle 11gR2 RAC集群服务启动与关闭命令汇总
  10. Django - 补充目录
  11. 碎片知识总结_刷题篇
  12. android nv21 nv12,android - 将NV21转换为NV12并旋转90度通过libyuv? - 堆栈内存溢出
  13. Java代码审计详解
  14. 无纸化会议系统连接服务器失败,无纸化会议系统使用注意事项及注册/更新流程...
  15. linux 4k 桌面壁纸,10个值得珍藏的4K高清壁纸网站推荐
  16. 排查生产环境下CPU飙高的原因
  17. 移动端安全 | Windows11安卓子系统进行APP抓包(踩坑文)
  18. R02-javaWeb-ServletConfigServletConfig
  19. 如何将安卓手机WiFI镜像投屏到电脑
  20. 代谢组学简介-百趣代谢组学资讯

热门文章

  1. python知乎-知乎大佬李启方道出肺腑之言:为什么我不建议你学Python?
  2. 编程软件python怎样开始学-Python 3.7从零开始学
  3. python处理数据的优势-Python与其他语言相比有哪些优势?
  4. 自学python后能干什么-学习python后能做哪方面的工作
  5. 学python能赚什么外卖-用python模拟美团外卖骑手推送请求
  6. python画圆简单代码-Python画直线 画圆 画矩形代码
  7. python画三维温度散点图-python 绘制三维图形、三维数据散点图
  8. python电脑配置要求cpu-python指定cpu使用率,与内存占用率
  9. python3.6.5安装教程-[教程]Centos下使用Yum安装python3.6.5
  10. python简单代码编写-新手写Python,8招让你的代码更简洁更Pythonic!