栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3805 Machine

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3805 Machine

#include <iostream>#include <stdio.h>#include <string.h>#include <math.h>#include <algorithm>#include <queue>#include <stack>#include <map>#include <vector>using namespace std;#define up(i,x,y) for(i=x;i<=y;i++)#define up2(i,x,y) for(i=x;y;i++)#define down(i,x,y) for(i=x;i>=y;i--)#define down2(i,x,y) for(i=x;y;i--)#define pi acos(-1.0)#define ll long long#define s(a) scanf("%d",&a)#define mem(a,b) memset(a,b,sizeof(a))#define ads(a) (a<0?-a:a)#define w(a) while(a)int vis[100005],dp[100005],n,a[100005];vector<int>g[100005];int dfs(int x){    if(dp[x]!=-1)        return dp[x];    int l=g[x].size();    if(!l)        dp[x]=1;    else if(l==1)        dp[x]=dfs(g[x][0]);    else        dp[x]=min(max(dfs(g[x][0])+1,dfs(g[x][1])),max(dfs(g[x][0]),dfs(g[x][1])+1));    return dp[x];}int main(){    int i,j;    w(~s(n))    {        up(i,0,n)        { dp[i]=-1; g[i].clear();        }        up(i,2,n)        { s(a[i]); g[a[i]].push_back(i);        }        printf("%dn",dfs(1));    }}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367287.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号