/*************
*Author:chanjun
*email:15755396353@163.com
*************/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <cmath>
#include <vector>
#include <stack>
#include <queue>
#include <string>
#include <list>
#include <deque>
#include <map>
#include <set>
#include <algorithm>
using namespace std;
#define INF 0x3f3f3f3f
#define EXP 1e-8
#define LL long long
int g[100010];
int f[100010];
int l[100010];
int root(int x){
if (l[x] != -1){
return l[x];
}
return l[x] = root(g[x])+1;
}
int main(){
//freopen("a.in","r",stdin);
//freopen("a.out","w",stdout);
int n;
double p,r;
scanf("%d%lf%lf",&n,&p,&r);
int k,x;
int id = 0;
memset(g,-1,sizeof(g));
memset(l,-1,sizeof(l));
l[0] = 0;
for (int i = 0; i < n; ++i){
scanf("%d",&k);
if (!k) f[id++] = i;
while (k--){
scanf("%d",&x);
if (g[x] == -1 || g[i] != x)
g[x] = i;
}
}
int ans = 0,mins = 100010;
for (int i = 0; i < id; ++i){
int cnt = root(f[i]);
if (cnt < mins){
mins = cnt;
ans = 1;
}else if (cnt == mins){
++ans;
}
}
r = 1+r/100;
printf("%.4lf %d\n", pow(r,mins)*p,ans);
system("pause");
return 0;
}
pat advanced 1106
最新推荐文章于 2019-11-30 11:13:43 发布