1106 Lowest Price in Supply Chain (25 分)
思路
秒杀不解释
代码
#include<bits/stdc++.h>
using namespace std;
const int maxn = 100010;
vector<int> Node[maxn];
int N;
double P,r;
int min_depth = maxn;
int min_num = 0;
void DFS(int index ,int depth)
{
if(Node[index].size()==0)
{
if (depth < min_depth)
{
min_num = 1;
min_depth = depth;
}
else if (depth == min_depth)
min_num+=1;
}
else
{
for(int i=0;i<Node[index].size();i++)
{
DFS(Node[index][i],depth+1);
}
}
}
int main()
{
int child,root,number;
cin>>N>>P>>r;
r /=100;
for(int i =0;i<N;i++)
{
cin>>number;
for(int j=0;j<number;j++)
{
cin>>child;
Node[i].push_back(child);
}
}
DFS(0,0);
printf("%.4f %d\n",P*pow((1+r),min_depth),min_num);
}