给出一棵树,在树根出货物的价格为p,然后每往下一层,价格增加r%,求所有叶子节点中的最高价格,以及该层叶子结点个数。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string.h>
#include <cmath>
/*
相当于求解树的层数
*/
using namespace std;
const int maxn=+;
int maxlayer=,num=;
int head[maxn];
int tot; struct Edge{
int to;
int next;
}edge[maxn]; void init(){
tot=;
memset(head,-,sizeof(head));
}
void add(int u,int v){
edge[tot].next=head[u];
edge[tot].to=v;
head[u]=tot++;
}
void dfs(int u,int layer){
if(head[u]==-){
if(layer>maxlayer){
maxlayer=layer;
num=;
}
else if(layer==maxlayer)
num++;
return;
}
for(int k=head[u];k!=-;k=edge[k].next){
int v=edge[k].to;
dfs(v,layer+);
}
} int main()
{
int v,root;
int n;
double p,r;
scanf("%d %lf %lf",&n,&p,&r);
init();
for(int i=;i<n;i++){
scanf("%d",&v);
if(v==-)
root=i;
else
add(v,i);
}
dfs(root,);
double ans=p*pow(+r/,maxlayer);
printf("%.2lf %d",ans,num);
return ;
}

1090. Highest Price in Supply Chain (25)-dfs求层数的更多相关文章

  1. [建树(非二叉树)] 1090. Highest Price in Supply Chain (25)

    1090. Highest Price in Supply Chain (25) A supply chain is a network of retailers(零售商), distributors ...

  2. 1090. Highest Price in Supply Chain (25) -计层的BFS改进

    题目如下: A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyon ...

  3. 1090. Highest Price in Supply Chain (25)

    时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A supply chain is a network of r ...

  4. 1090 Highest Price in Supply Chain (25)(25 分)

    A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone invo ...

  5. PAT Advanced 1090 Highest Price in Supply Chain (25) [树的遍历]

    题目 A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)–everyone inv ...

  6. PAT (Advanced Level) 1090. Highest Price in Supply Chain (25)

    简单dfs. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...

  7. Highest Price in Supply Chain (25)(DFS)(PAT甲级)

    #include<bits/stdc++.h>using namespace std;int fa;int degree[100007];vector<int>v[100007 ...

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

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

  9. pat1090. Highest Price in Supply Chain (25)

    1090. Highest Price in Supply Chain (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 C ...

随机推荐

  1. Linux下源码编译安装MySQL 5.5.8

    准备工作: 新建用户和用户组 groupadd mysql useradd -g mysql mysql 1:下载: bison-2.4.2.tar.bz2 cmake-2.8.3.tar.gz ma ...

  2. 团队作业——Alpha冲刺 4/12

    团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:着手进行编辑界面的布局,插入控件,并进行参数调整. 明日任务:继续完善编辑界面控件,学习控件交互功能. 郭剑南 今日任务:上网查阅学习了关 ...

  3. Linux-centos安装node、nginx小记

    一.安装node 1.进入/usr目录,新建toos目录 cd /usr && mkdir tools && cd tools 2.wget命令下载对应版本的node包 ...

  4. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb ...

  5. 【洛谷】【单调栈】P1901 发射站

    [题目描述:] 某地有 N 个能量发射站排成一行,每个发射站 i 都有不相同的高度 Hi,并能向两边(当 然两端的只能向一边)同时发射能量值为 Vi 的能量,并且发出的能量只被两边最近的且比 它高的发 ...

  6. 4、JUC--CountDownLatch闭锁

    CountDownLatch  Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能.  CountDownLatch 一个同步辅助类,在完 ...

  7. leetcode704--Binary Search

    Given a sorted (in ascending order) integer array nums of n elements and a target value, write a fun ...

  8. Python2.7-netrc

    netrc 模块,用于解析和封装 netrc 类型的文件,这种类型的文件用于 unix 的 ftp 程序和其他 ftp 客户端.----------------不知道到底是个什么东西 1.模块对象 1 ...

  9. Python2.7-heapq

    heapq 模块,实现了堆序列算法,也叫优先序列算法.heap(堆)是每个父节点都小于等于子节点的树,同时所有节点k都满足 heap[k] <= heap[2*k+1] 和 heap[k] &l ...

  10. Python2.7-time

    time模块,与datetime模块功能有所重合,time较为简单明了,若只需要当前时间或日期或是sleep,直接用time模块,需要更复杂的时间间隔等情况用datetime模块更好 1.获得time ...