比赛 图的简单问题 评测结果 WWWWWWWWWW
题目名称 信息传递 最终得分 0
用户昵称 Hyoi_0Koto 运行时间 0.096 s
代码语言 C++ 内存使用 1.72 MiB
提交时间 2017-05-14 21:07:41
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cctype>
#include<vector>
#include<stack>
using namespace std;
const int maxn=200001;
int n,a,dep=0;
bool vis[maxn];
vector<int> v[maxn];
int ans[maxn];
inline void in(int &x)
{
    x=0;int f=1;char t=getchar();
    while(!isdigit(t)){if(t=='-')f=-1;t=getchar();}
    while(isdigit(t)){x=x*10+t-48;t=getchar();}
    x*=f;
}
inline int dfs(int x){
	dep++;ans[x]=dep;vis[x]=1;
	for(int i=0;i<v[x].size();i++){
		if(!vis[v[x][i]]) dfs(v[x][i]);
	}
}
inline void work(){
	in(n);
	for(int i=1;i<=n;i++){
		in(a);
		v[i].push_back(a);
	}
	dfs(1);
	printf("%d",ans[n]);
}
inline int Main(){
	freopen("2015message.in","r",stdin);
	freopen("2015message.out","w",stdout);
	work();
	return 0;
}
int main(){;}
int gys=Main();