记录编号 326308 评测结果 AAAAAAAAAA
题目名称 森林大礼包 最终得分 100
用户昵称 Gravatarkito 是否通过 通过
代码语言 C++ 运行时间 0.863 s
提交时间 2016-10-21 07:18:43 内存使用 6.10 MiB
显示代码纯文本
#include<cstdio>
using namespace std;
#define	fcl	fclose(stdin);	fclose(stdout);	return 0
	#define	SUBMIT 2333
const int p=1000000007;
int n;
int Bag[100010][15];
int sum[100010];
int F[100010];
void Dp(int u){
	if(F[u])	return;
	if(u==0)	return;
	for(int i=1;i<=sum[u];++i){
		if(Bag[u][i]!=0){
			Dp(Bag[u][i]);
			F[u]+=F[Bag[u][i]];
			F[u]%=p;
		}
		else	F[u]++;
	}
}
 
int main(){
	#ifdef SUBMIT
	freopen("three_squirrels.in","r",stdin);
	freopen("three_squirrels.out","w",stdout);
	#endif
	scanf("%d",&n);
	for(int i=1;i<=n;++i){
		scanf("%d",&sum[i]);
		for(int j=1;j<=sum[i];++j){
			scanf("%d",&Bag[i][j]);
		}
	}
	Dp(n);
	printf("%d",F[n]);
	#ifndef SUBMIT
	getchar();	getchar();
	#endif
	fcl;
}