记录编号 448454 评测结果 AAAAAAAAAA
题目名称 [NOIP 2015]信息传递 最终得分 100
用户昵称 Gravatarliuyu 是否通过 通过
代码语言 C++ 运行时间 0.139 s
提交时间 2017-09-12 19:38:13 内存使用 3.36 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,ans=99999999,A[200010]={0},B[200010]={0};
struct vist
{
       int q;       
       int s;
}m[200010];
int main()
{
    ios::sync_with_stdio(false);
	freopen("2015message.in","r",stdin);
    freopen("2015message.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++)cin>>A[i];
  for(int i=1;i<=n;i++)
    {
            if(m[i].q!=0) continue;
            int vist=0,j=i;
            while(true)
            {
                 vist++;
                 if(m[j].q==i)
                ans=ans<(vist-m[j].s)?ans:(vist-m[j].s);//三目运算符判断             
              if(m[j].q!=0) break;
                 m[j].s=vist;
                 m[j].q=i;
                 j=A[j];      
            }       
    }
    cout<<ans;
   return 0;    
}