希望更丰富的展现?使用[Markdown](https://www.luogu.org/wiki/show?name=%E5%B8%AE%E5%8A%A9%EF%BC%9Amarkdown)
by Luvwgyx @ 2019-05-17 14:33:30
```cpp
include<bits/stdc++.h>
using namespace std;
const int maxn=100005;
inline int read() {
int w = 0, x = 0;
char ch = 0;
while (!isdigit(ch))w |= ch == '-', ch = getchar();
while (isdigit(ch))x = (x << 1) + (x << 3) + (ch ^ 48), ch = getchar();
return w ? -x : x;
}
void write(int x) {
if (x < 0) {
putchar('-');
x = -x;
}
if (x > 9)
write(x / 10);
putchar(x % 10 + 48);
}
int n,next_id[maxn],f[maxn];
int dfs(int now_v,int obj_v) {
if(next_id[now_v]==obj_v)return 1;
if(f[now_v])return f[now_v];
return f[now_v]=dfs(next_id[now_v],obj_v)+1;
}
int main() {
int n;
n=read();
for(register int i=1; i<=n; ++i)
next_id[i]=read();
for(register int i=1; i<=n; ++i) {
f[i]=dfs(i,i);
write(f[i]);
putchar('\n');
}
return 0;
}
```
by yu__xuan @ 2019-05-17 15:04:36
少个#
by yu__xuan @ 2019-05-17 15:04:51
MLE==没了
by Priori_Incantatem @ 2019-05-17 15:12:34