A1079、A1090可结合一起看.
#include<cstdio>
#include<cstdlib>
#include<string.h>
#include<math.h>
#include<iostream>
#include<vector>
#include<set>
#include<map>
#include<stack>
#include<queue>
#include<string>
#include<algorithm>
using namespace std;
const int maxn=100010;
vector<int> child[maxn];
int final_layer=maxn,num=0;
void DFS(int root,int layer){
if(child[root].size()==0){
if(layer<final_layer){
final_layer=layer;
num=1;
}else if(layer==final_layer){
num++;
}
return;
}
for(int i=0;i<child[root].size();i++){
DFS(child[root][i],layer+1);
}
}
int main(){
#ifdef ONLINE_JUDGE
#else
freopen("1.txt","r",stdin);
#endif
int n;
double p,r;
scanf("%d%lf%lf",&n,&p,&r);
for(int i=0;i<n;i++){
int temp;
scanf("%d",&temp);
for(int j=0;j<temp;j++){
int k;
scanf("%d",&k);
child[i].push_back(k);
}
}
DFS(0,0);
printf("%.4f %d\n",p*pow(1+r*0.01,final_layer),num);
return 0;
}