zoukankan      html  css  js  c++  java
  • 【PAT甲级】1090 Highest Price in Supply Chain (25 分)

    题意:

    输入一个正整数N(<=1e5),和两个小数r和f,表示树的结点总数和商品的原价以及每向下一层价格升高的幅度。下一行输入N个结点的父结点,-1表示为根节点。输出最深的叶子结点处购买商品的价格以及有几个深度最深的结点。

    AAAAAccepted code:

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 int a[100007];
     5 vector<int>v[100007];
     6 int mx;
     7 int ans[100007];
     8 void dfs(int x,int storey){
     9     mx=max(mx,storey);
    10     ans[x]=storey;
    11     for(auto it:v[x])
    12         dfs(it,storey+1);
    13 }
    14 int main(){
    15     int n;
    16     int root=0;
    17     double p,r;
    18     cin>>n>>p>>r;
    19     for(int i=1;i<=n;++i){
    20         cin>>a[i];
    21         if(a[i]==-1)
    22             root=i-1;
    23         else
    24             v[a[i]].push_back(i-1);
    25     }
    26     dfs(root,0);
    27     int num=0;
    28     for(int i=0;i<n;++i)
    29         if(ans[i]==mx)
    30             ++num;
    31     double sum=p*pow(1+r/100.0,mx);
    32     printf("%.2lf %d",sum,num);
    33     return 0;
    34 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    html JS 开发备忘
    C++学习备忘(一)
    博客开通备忘
    自己制作的代码生成工具AutoCoder
    C# 小技巧
    突破list存为模板为10M限制
    开博
    OpenEuler中C语言中的函数调用测试
    socket测试3
    电子公文传输系统验收4开发基础
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11905503.html
Copyright © 2011-2022 走看看