#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
struct node{
int data;
vector<int> child;
}Node[100010];
int N;
double P,r;
double sum;
void DFS(int index,int depth){
if(Node[index].child.size()==0){
sum = sum + Node[index].data*pow(1+r,depth);
return;
}
for(int i = 0;i<Node[index].child.size();i++){
DFS(Node[index].child[i],depth+1);
}
}
int main() {
cin>>N>>P>>r;
r=r/100;
for(int i =0 ;i<N;i++){
int number;
cin>>number;
if(number==0){
cin>>Node[i].data;
} else{
for(int j=0;j<number;j++){
int child;
cin>>child;
Node[i].child.push_back(child);
}
}
}
DFS(0,0);
printf("%.1f",P*sum);
return 0;
}
浙江大学PAT甲级A1079(C++)题解
最新推荐文章于 2020-06-04 15:23:18 发布
本文介绍了一种使用递归深度优先搜索(DFS)算法在树形结构中进行遍历的方法。通过C++代码实现,该算法计算了树中每个节点的数据乘以一定利率的幂次方之和,并最终输出这一计算结果乘以初始本金。文章详细展示了如何构建树的结构,定义节点,以及如何使用DFS遍历所有子节点。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
ACE-Step
音乐合成
ACE-Step
ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言
1463

被折叠的 条评论
为什么被折叠?



