HOJ

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

//版本2 邻接表建图 tarjan 与上面的风格也不一样,参考的是吉林大学的代码库 #include #include #include #include #define V 10001 using namespace std; vectorvec[V]; int id[V],pre[V],low[V],s[V],stop,cnt,scnt; void tarjan(int v,int n) { int t,minc = low[v] = pre[v] = cnt++;//pre[v]表示搜索的次序,low[v]表示为u或u的子树能够追溯到节点的次序号 vector::iterator pv; s[stop++] = v; for(pv = vec[v].begin(); pv != vec[v].end(); ++pv) { if(-1==pre[*pv])//如果当前节点未访问 tarjan(*pv,n); if(low[*pv] < minc) //如果下一个节点的low值比当前节点的Low值小,则更新 minc = low[*pv]; } if(minc

你可能感兴趣的:(POJ_强连通分支)