zoukankan      html  css  js  c++  java
  • 强联通 HDU 1269

    第一道强联通的题目纪念一下! 主要是模版 tarjan算法

    #include <iostream>
    #include <cstdlib>
    #include <cstdio>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <cmath>
    #include <stack>
    #include <cstring>
    using namespace std;
    #define INF 0xfffffff
    #define maxn 10005
    #define min(a,b) (a<b?a:b)
    
    int n, m, time;
    vector<int> G[maxn];
    stack<int> S;
    bool inStack[maxn];
    int low[maxn], dfn[maxn];
    
    void tarjan(int u)
    {
        int i, len = G[u].size(), v;
        low[u] = dfn[u] = time ++;
        inStack[u] = true;
        S.push(u);
        for(i=0; i<len; i++)
        {
            int v = G[u][i];
    
            if( !low[v] )
            {
                tarjan(v);
                low[u] = min(low[u], low[v]);
            }
            else if(inStack[v])
            {
                low[u] = min(low[u], dfn[v]);
            }
        }
        do
        {
            v = S.top();
            S.pop();
            inStack[v] = false;
        }while(u != v);
    }
    
    void init()
    {
        int i;
        memset(low, 0, sizeof(low));
        time = 1;
        for(i=1; i<=n; i++)
            G[i].clear();
    }
    
    bool canSolve()
    {
        int i;
        for(i=1; i<=n; i++)
        {
            if(low[i] != 1)
                return false;
        }
        return true;
    }
    
    int main()
    {
        int i;
        while(scanf("%d%d",&n,&m), m+n )
        {
            int a, b;
            init();
            for(i=0; i<m; i++)
            {
                scanf("%d%d",&a,&b);
                G[a].push_back(b);
            }
    
            tarjan(1);
    
            if( canSolve() )
                printf("Yes
    ");
            else
                printf("No
    ");
        }
        return 0;
    }
  • 相关阅读:
    9.16第一次上课关于HTML的小结
    9.22课堂记录
    9.19课堂记录
    html文档基本结构
    HTMl学习1
    HTML第一次学习笔记
    CSS3和CSS2.1的区别
    HTML5新元素
    第一课:HTML
    块级元素和行内元素
  • 原文地址:https://www.cnblogs.com/chenchengxun/p/4459230.html
Copyright © 2011-2022 走看看