您的位置:首页 > 理论基础 > 计算机网络

ccf 201503-4 网络延时

2017-09-02 07:35 323 查看
#include<iostream>
#include<vector>
using namespace std;
class node{
public:
int h,_max;
vector<int> son;
};
node all[20005];
int dfs(int index){
//if(!all[index].son) return 1;
int _M1=0,_M2=0;
for(int i=0;i<all[index].son.size();++i){
int h=dfs(all[index].son[i]);
if(h>_M1) _M1=h;
if(_M1>_M2) swap(_M1,_M2);
}
all[index]._max=_M1+_M2;
all[index].h=_M2+1;
return _M2+1;
}
int main(){
int n,m;
cin>>n>>m;
int k;
n+=m;
for(int i=2;i<=n;++i){
cin>>k;
all[k].son.push_back(i);
}
dfs(1);
int re=0;
for(int i=1;i<=n;++i){
if(re<all[i]._max) re=all[i]._max;
}
cout<<re<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ccf