1090.Highest Price in Supply Chain (25)
pat-al-1090
2017-03-03 DFS and BFS should all be implemented, this time the DFS
/**
* pat-al-1090
* 2017-03-03
* Cpp version
* author:fenglian_s */
#include <stdio.h>
#include <vector>
#define MAX 100010
using namespace std;
Vector<int> V[max];
int maxDepth =-1, CNT;
void Dfs (int root, int depth)
{
if (Depth > MaxDepth)
{
maxDepth = depth;
CNT = 1;
}
else if (depth = = maxDepth)
cnt++;
for (int i = 0;i < V[root].size (); i++)
{
dfs (v[root][i], depth+1);
}
}
int main ()
{
freopen ("In.txt", "R", stdin);
int n;
Double p, R;
scanf ("%d%lf%lf", &n, &p, &r);
int root;
for (int i = 0;i < n;i++)
{
int father;
scanf ("%d", &father);
if (father! =-1)
v[father].push_back (i);
else
root = i;
}
DFS (root, 0);
for (int i = 0;i < maxdepth;i++)
{
P *= (1+r/100);
}
printf ("%.2lf%d\n", p, CNT);
return 0;
}
-fin-