#include<cstdio>
#include<vector>
#include<cmath>
using namespace std;
const int maxn=100010;
const int INF=1000000000; ///****
vector<int> Node[maxn];
int n;
double p,r;
int num=0;
double ans=INF;
void DFS(int index,int depth)
{
if(Node[index].size()==0)
{
double price=p*pow(1+r,depth); ///****
if(price<ans)
{
ans=price;
num=1;
}else if(price==ans)
{
num++;
}
return; ***
}
for(int i=0;i<Node[index].size();i++)
{
DFS(Node[index][i],depth+1);
}
}
int main()
{
int k,child;
scanf("%d%lf%lf",&n,&p,&r);
r=r/100;
for(int i=0;i<n;i++)
{
scanf("%d",&k);
for(int j=0;j<k;j++)
{
scanf("%d",&child);
Node[i].push_back(child);
}
}
DFS(0,0); ///***
printf("%.4f %d\n",ans,num);
return 0;
}
A1106 Lowest Price in Supply Chain
最新推荐文章于 2022-02-17 05:44:52 发布