zoukankan      html  css  js  c++  java
  • hdu 1269 迷宫城堡

    #include <cstdio>
    #include <algorithm>
    #include <vector>
    #include <stack>
    #include <cstring>
    using namespace std;
    int n,m,dfn[10010],low[10010],scc[10010],scc_cnt,dfs_clock;
    vector<int> G[10010];
    stack<int> s;
    
    void dfs(int u){
        dfn[u]=low[u]=++dfs_clock;
        s.push(u);
        for(int i=0;i<G[u].size();i++){
            int v=G[u][i];
            if(!dfn[v]){
                dfs(v);
                low[u]=min(low[u],low[v]);
            }
            else if(!scc[v]){
                low[u]=min(low[u],dfn[v]);
            }
        }
        if(low[u]==dfn[u]){
            scc_cnt++;
            for(;;){
                int x=s.top(); s.pop();
                scc[x]=scc_cnt;
                if(x==u)break;
            }
        }
    }
    
    int main(){
        while(scanf("%d%d",&n,&m)){
            if(n==0 && m==0)break;
            dfs_clock=scc_cnt=0;
            memset(low,0,sizeof(low));
            memset(dfn,0,sizeof(dfn));
            memset(scc,0,sizeof(scc));
            for(int i=1;i<=n;i++)G[i].clear();
            for(int i=1;i<=m;i++){
                int u,v;
                scanf("%d%d",&u,&v);
                G[u].push_back(v);
            }
            for(int i=1;i<=n;i++)if(!scc[i])dfs(i);
            if(scc_cnt==1)puts("Yes");
            else puts("No");
        }
        return 0;
    }
  • 相关阅读:
    2018-8-10-win10-uwp-重启软件
    jquery动画滑入滑出
    jquery类操作
    jquery类操作
    jquery手风琴
    jquery突出显示
    jquery隔行变色
    jquery下拉菜单
    jquery筛选选择器
    jquery过滤选择器
  • 原文地址:https://www.cnblogs.com/codetogether/p/13305524.html
Copyright © 2011-2022 走看看