zoukankan      html  css  js  c++  java
  • 1090 Highest Price in Supply Chain (25 分)(树的遍历)

    求所有叶节点中的最高价以及这个价格的叶节点个数

    #include<bits/stdc++.h>
    
    using namespace std;
    const int N=1e5+10;
    vector<int>mp[N];
    int num=0;
    int maxn=0;
    void dfs(int v,int step)
    {
        if(mp[v].size()==0)
        {
            if(step>maxn)
            {
                maxn=step;//更新最大深度
                num=1;//重置最大深度的叶节点个数为1
            }
            else if(step==maxn)
            {
                num++;//最大深度的叶节点个数+1
            }
            return;
        }
    
        for(int i=0; i<mp[v].size(); i++)
        {
            dfs(mp[v][i],step+1);
        }
    }
    int main()
    {
        int n;
        double price,rate;
        scanf("%d %lf %lf",&n,&price,&rate);
        rate/=100.0;
        int root;
        for(int i=0; i<n; i++)
        {
            int x;
            scanf("%d",&x);
            if(x==-1)
            {
                root=i;
                continue;
            }
            mp[x].push_back(i);
        }
        dfs(root,0);
        printf("%.2f %d
    ",price*pow(1+rate,maxn),num);
        return 0;
    }
  • 相关阅读:
    wc
    wbinfo
    wall -- 向所有人的终端发送消息
    w
    vt-is-UTF8
    vmstat
    vimtutor
    vim
    centos7
    Web 在线文件管理器学习笔记与总结(8)删除文件
  • 原文地址:https://www.cnblogs.com/chenchen-12/p/10085113.html
Copyright © 2011-2022 走看看