【dfs】聚会
聚會(huì)
題目大意:
有一些樹(shù),求深的樹(shù)的深度
原題
解題思路:
從一個(gè)根出發(fā),dfs往下搜
代碼:
#include<cstdio> #include<iostream> #include<cstring> using namespace std; int n,t,g,w,ans,c[2005],head[2005]; struct rec {int to,next; }a[2005]; void dfs(int now,int dep) {ans=max(ans,dep);//求最大for (int i=head[now];i;i=a[i].next)dfs(a[i].to,dep+1);//玩下搜 } int main() {scanf("%d",&n);for (int i=1;i<=n;++i){scanf("%d",&t);if (t==-1)//沒(méi)有父節(jié)點(diǎn){c[++g]=i;continue;}a[++w].to=i;//反過(guò)來(lái)記錄,就可以記錄某一個(gè)點(diǎn)的子節(jié)點(diǎn)a[w].next=head[t];head[t]=w;}for (int i=1;i<=g;++i)dfs(c[i],1);//dfsprintf("%d",ans);//輸出 }總結(jié)
- 上一篇: 在太鼓岛建设房屋经营城镇,世嘉放出《人中
- 下一篇: 中国移动预计 6G 要到 2028~20