记录编号 326746 评测结果 AAAAAAAAAA
题目名称 森林大礼包 最终得分 100
用户昵称 Gravatarjmisnal 是否通过 通过
代码语言 C++ 运行时间 0.469 s
提交时间 2016-10-21 14:10:08 内存使用 5.37 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#define mod 1000000007
#define ll long long
using namespace std;
int read()
{
	int x=0;char ch=getchar();
	while(ch<'0'||ch>'9')ch=getchar();
	while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
	return x;
}
int bh[100050][11];
ll v[100050];
bool mark[100050];
int n,ki;
ll dfs(int now)
{
	if(mark[now])return v[now];
	mark[now]=1;
	for(int i=1;i<=bh[now][0];i++)
		v[now]=(v[now]+dfs(bh[now][i]))%mod;
	return v[now];
}
int main()
{
//	freopen("abcd.in","r",stdin);
	freopen("three_squirrels.in","r",stdin);
	freopen("three_squirrels.out","w",stdout);
	v[0]=1;
	mark[0]=1;
	n=read();
	for(int i=1;i<=n;i++)
	{
		bh[i][0]=read();
		for(int j=1;j<=bh[i][0];j++)
			bh[i][j]=read();
	}
	printf("%lld",dfs(n));
	return 0;
}