摘要: 题目链接题目大意,给定一个有向图,按顺序输出“自己可达的顶点都可到达自己”的顶点。由于没有按顺序输出,WA了一次。View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <memory.h> 4 #define CLR(a) (memset(a,0,sizeof(a))) 5 #define N 5001 6 struct node 7 { 8 int v; 9 struct node *next; 10 }; 11 struct node *in[N],*out[N]; 12 char 阅读全文
posted @ 2012-03-31 23:30 BeatLJ 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 题目链接题目大意,给一个有向图,求是否任意两点都单向联通。这题我用的是两次dfs求强连通图,将强连通分量缩成一个点,然后对缩点后的有向图进行拓扑排序,判断单项连通。因为一个小错误,WA了3次,第一次dfs时是求各点的后根遍历次序(时间戳),但是是以第cnt次访问的是第v个结点的形式来保存,这样可以很方便从访问次序找相应结点,便于第二次dfs。我在写的时候,不小心就写成了保存第v个结点的时间戳,自然就错了。View Code 1 #include <stdio.h> 2 #include <memory.h> 3 #define CLR(a) memset(a,0,siz 阅读全文
posted @ 2012-03-31 22:38 BeatLJ 阅读(436) 评论(0) 推荐(0) 编辑