#include <bits/stdc++.h>
#include <string>
#include <map>
#include <queue>
using namespace std;
double ans=0.0;
int data[100005];
double rate;
struct node{
vector<int> v;
}node[10005];
void dfs(int i,int level){
if(node[i].v.size()==0){
ans+=data[i]*pow(rate/100+1.0,level);
}
else{
for(int k=0;k<node[i].v.size();k++){
dfs(node[i].v[k],level+1);//这里用level+1,不能用level++,因为循环到下一次k==1时就多算了一层
}
}
}
int main(){
//freopen("in.txt","r",stdin);
int n;
cin>>n;
double unit;
cin>>unit;
cin>>rate;
for(int i=0;i<n;i++){
int k;
int tmp;
scanf("%d",&k);
if(k==0){
scanf("%d",&data[i]);
}
else{
for(int j=0;j<k;j++){
scanf("%d",&tmp);
node[i].v.push_back(tmp);
}
}
}
dfs(0,0);
printf("%.1lf",unit*ans);
return 0;
}
PAT A1079.Total Sales of Supply Chain
最新推荐文章于 2020-02-20 20:08:15 发布