水题——洛谷P2661 信息传递

    xiaoxiao2021-04-15  28

    https://www.luogu.org/problem/show?pid=2661 交了个暴力。。。过了; …………. 其实就是时间鹺; 非常简单;

    #include<map> #include<cmath> #include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #include<algorithm> using namespace std; const int N=200010; struct dian{ int tag,to,vi; }d[N]; int time,ans,n,m,x,y,z; void dfs(int x,int y){ d[x].vi=y; d[x].tag=++time; if(!d[d[x].to].vi)dfs(d[x].to,y);else if(d[d[x].to].vi==y)ans=min(ans,time-d[d[x].to].tag+1); } int main() { scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&d[i].to); ans=3e9; for(int i=1;i<=n;i++) if(!d[i].vi)dfs(i,i); printf("%d",ans); }
    转载请注明原文地址: https://ju.6miu.com/read-671928.html

    最新回复(0)