1 条题解
-
0
#include<bits/stdc++.h> using namespace std; const int N=2e5+5; int n,a[N],vis[N],num; vector<int>v; signed main() { int x=1; scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",a+i); while(!vis[x])vis[x]=1,x=a[x]; while(vis[x]==1)vis[x]++,v.push_back(x),x=a[x],num++; printf("%d\n",num); for(auto x:v)printf("%d ",x); return 0; }
- 1
信息
- ID
- 8893
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 6
- 标签
- 递交数
- 41
- 已通过
- 15
- 上传者