CodeForces 116C 【BFS】
来源:互联网 发布:狭义相对论知乎 编辑:程序博客网 时间:2024/06/07 21:45
思路:
求所有树的最大高度?
注意:所有树从树根开始?
#include <bits/stdc++.h>using namespace std;typedef long long LL;struct asd{int to;int next;}e[2500];int head[2500],tol;int pre[2500];int n;void add(int u,int v){e[tol].to=v;e[tol].next=head[u];head[u]=tol++;}bool vis[2500];struct ad{int w;int step;};int BFS(int s){int res=0;vis[s]=1;ad now,nex;now.step=1;now.w=s;queue<ad>q;q.push(now);while(!q.empty()){now=q.front();q.pop();res=max(now.step,res);int u=now.w;for(int i=head[u];~i;i=e[i].next){int v=e[i].to;if(vis[v]) continue;vis[v]=1;nex.w=v;nex.step=now.step+1;q.push(nex);}}return res;}int main(){int x;scanf("%d",&n);tol=0;memset(head,-1,sizeof(head));memset(vis,0,sizeof(vis));memset(pre,0,sizeof(pre));for(int i=1;i<=n;i++){scanf("%d",&x);if(x==-1) continue;add(x,i);pre[i]++;}int ans=0;for(int i=1;i<=n;i++){if(!pre[i]){ans=max(ans,BFS(i));}}printf("%d\n",ans);return 0;}
1 0
- CodeForces 116C 【BFS】
- codeforces 590C(bfs)
- Codeforces-813c双bfs
- CodeForces-540C//Codeforces Round #301 (Div. 2)C BFS
- 【Codeforces】C. Ice Cave(bfs)
- Codeforces 590C Three States(bfs)
- CodeForces 540C Ice Cave (BFS)
- CodeForces 540 C Ice Cave (BFS)
- codeforces 616C The Labyrinth(bfs)
- codeforces 540C Ice Cave【BFS】
- Codeforces 540C Ice Cave (BFS)
- CodeForces 616C:The Labyrinth(BFS)
- Codeforces-540C 广搜BFS
- Codeforces 730 C Bulmart [bfs+贪心]
- Codeforces Round #327 & problem - 590C - C. Three States - BFS
- Codeforces Beta Round #35 (Div. 2) C (BFS~水~)
- Codeforces 242C King‘s Path(BFS+STL)
- CodeForces 295C - Greg and Friends BFS找最短路径
- 天梯赛-是否完全二叉搜索树
- HDU1028 DP
- 2017-3-20 希尔排序, 递归, 01背包
- Modernizr.js 介绍
- 自定义控件之视图篇(二)—— FlowLayout自适应容器实现
- CodeForces 116C 【BFS】
- BLDC和PMSM的区别
- ACM程序设计书中题目--P(粮食问题)
- linux启动web服务
- 实验吧安全杂项WP(四)
- vb.net 教程 5-6 图片上取色 2
- 考试座位号
- C++之类型萃取
- java Activemq的HelloWorld