zoukankan      html  css  js  c++  java
  • 信息传递

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<math.h>
    #include<queue>
    #include<vector>
    using namespace std;
    int n;
    int to[210000],dfn[210000],ans=999999,cnt=0,cntt=0,t[210000]; 
    void dfs(int x)
    {
        t[x]=cntt;
        dfn[x]=++cnt;    
        if(dfn[to[x]])    
        if(cntt==t[to[x]])
        {ans=min(dfn[x]-dfn[to[x]]+1,ans);return ;}
        else    return;
        dfs(to[x]);
        return ;
    }
    int main()
    {
        scanf("%d",&n);
        int c;
        for(int i=1;i<=n;i++)
            scanf("%d",&c),to[i]=c;
        for(int i=1;i<=n;i++)
        if(!dfn[i])
            cntt++,dfs(i);
        cout<<ans;
        return 0;
    }
  • 相关阅读:
    hdu 1286
    hdu 1420
    hdu 2068
    hdu 1718
    hdu 1231
    hdu 1072
    HDOJ 350留念
    hdu 1898
    hdu 1593
    帮助理解git的图
  • 原文地址:https://www.cnblogs.com/CLGYPYJ/p/6401497.html
Copyright © 2011-2022 走看看