首页 > 其他 > 详细

【PAT甲级】1090 Highest Price in Supply Chain (25 分)

时间:2019-11-21 15:58:18      阅读:75      评论:0      收藏:0      [点我收藏+]

题意:

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

代码:

#define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
int a[100007];
vector<int>v[100007];
int mx;
int ans[100007];
void dfs(int x,int storey){
mx=max(mx,storey);
ans[x]=storey;
for(auto it:v[x])
dfs(it,storey+1);
}
int main(){
//ios::sync_with_stdio(false);
//cin.tie(NULL);
//cout.tie(NULL);
int n;
int root=0;
double p,r;
cin>>n>>p>>r;
for(int i=1;i<=n;++i){
cin>>a[i];
if(a[i]==-1)
root=i-1;
else
v[a[i]].push_back(i-1);
}
dfs(root,0);
int num=0;
for(int i=0;i<n;++i){
if(ans[i]==mx){
++num;
}
}
double sum=p*pow(1+r/100.0,mx);
printf("%.2lf %d",sum,num);
return 0;
}

【PAT甲级】1090 Highest Price in Supply Chain (25 分)

原文:https://www.cnblogs.com/ldudxy/p/11905503.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!