hdoj 1269-迷宫城堡解题报告
链接http://acm.hdu.edu.cn/showproblem.php?pid=1269
求强连通分支的题,为了搞定2-sat问题,开始找这些题做,而且用的是gabow算法,是为了给自己打模板才做的这道题
#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-迷宫城堡解题报告相关推荐
- HDU 1269 迷宫城堡 -- 强连通图判断
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1269 图的强连通分量 http://baike.baidu.com/link?url=NqsmNsGC ...
- HDU 1269 迷宫城堡(强连通图的判定)
最近<算法导论>快看完图论部分了,很多有关图的算法都彻底搞懂并加以证明了.现在主要是将理解的思想用到题目中来加强下.这个题目主要是判断一下整个图是否是强连通的,很简单,可以用tarjan也 ...
- HDU - 1269迷宫城堡 -强连通tanjar算法
为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以 ...
- Hdu 1269.迷宫城堡
Problem Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若 ...
- HDOJ 2012 素数判定 解题报告
今天确实坑爹,, 这么简单的题目都WA好多次,,, 都是细节上的错误, 直接导致崩盘,,额... 好吧,这个完全就是素数判断,没什么好说的 ,, 就是注意flag标记和判断是否符合条件,,其他就是输出 ...
- HDOJ 2015 偶数求和 解题报告
偶数求和 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 【HDU - 1269】迷宫城堡 (tarjan算法模板)
题干: 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只 ...
- 【HDU 1269】迷宫城堡 (Tarjan算法)
迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 习题:codevs 2822 爱在心中 解题报告
这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...
最新文章
- quartz定时任务开发cron常用网站
- pkg-config简介 pkgconfig
- python学习音频-Python 音频数据扩充的技巧
- 【移动开发】EditText输入字数限制总结(包括中文输入内存溢出的解决方法)...
- Eclipse从SVN恢复本地误删除已删除的文件和代码
- 一进庙会freeeim
- matlab表示时间集合,matlab集合操作
- Spring Boot文件上传示例
- Oracle 11gR2 RAC集群服务启动与关闭命令汇总
- Django - 补充目录
- 碎片知识总结_刷题篇
- android nv21 nv12,android - 将NV21转换为NV12并旋转90度通过libyuv? - 堆栈内存溢出
- Java代码审计详解
- 无纸化会议系统连接服务器失败,无纸化会议系统使用注意事项及注册/更新流程...
- linux 4k 桌面壁纸,10个值得珍藏的4K高清壁纸网站推荐
- 排查生产环境下CPU飙高的原因
- 移动端安全 | Windows11安卓子系统进行APP抓包(踩坑文)
- R02-javaWeb-ServletConfigServletConfig
- 如何将安卓手机WiFI镜像投屏到电脑
- 代谢组学简介-百趣代谢组学资讯
热门文章
- python知乎-知乎大佬李启方道出肺腑之言:为什么我不建议你学Python?
- 编程软件python怎样开始学-Python 3.7从零开始学
- python处理数据的优势-Python与其他语言相比有哪些优势?
- 自学python后能干什么-学习python后能做哪方面的工作
- 学python能赚什么外卖-用python模拟美团外卖骑手推送请求
- python画圆简单代码-Python画直线 画圆 画矩形代码
- python画三维温度散点图-python 绘制三维图形、三维数据散点图
- python电脑配置要求cpu-python指定cpu使用率,与内存占用率
- python3.6.5安装教程-[教程]Centos下使用Yum安装python3.6.5
- python简单代码编写-新手写Python,8招让你的代码更简洁更Pythonic!