记录编号 | 555479 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | [NOIP 2015]信息传递 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.277 s | ||
提交时间 | 2020-10-03 11:33:24 | 内存使用 | 7.75 MiB | ||
#include<iostream> #include<cstring> #include<stdio.h> using namespace std; int n; int a[500010]; int v[500010]; int u[500010]; int maxx; int now; void dfs(int x,int z) { if(v[x] != 0) { if(u[x] == now) maxx = min(maxx, z-v[x]); return ; } u[x] = now; v[x] = z; dfs(a[x], z+1); return; } int main() { maxx = 0x3fffffff; 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++) { now = i; if(v[i] == 0) { u[i] = now; v[i] = 1; dfs(a[i], 2); } } cout << maxx; return 0; }