比赛 NOIP模拟赛by mzx Day2 评测结果 AAAAAAAAAA
题目名称 森林大礼包 最终得分 100
用户昵称 农场主 运行时间 1.183 s
代码语言 C++ 内存使用 1.54 MiB
提交时间 2016-10-20 20:05:00
显示代码纯文本
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector> 
#define maxn 100001
#define mod 1000000007
using namespace std;
vector<int> G[maxn];
bool vis[maxn]={0};
int d[maxn]={0};
int n,m;
void read(){
	scanf("%d",&n);
	int v;
	for (int i=1;i<=n;i++){
		scanf("%d",&m);
		for(int j=0;j<m;j++){
			scanf("%d",&v);
			G[i].push_back(v);
//			G[v].push_back(i);
		}
	}
	vis[0]=1;
	d[0]=1;
}
int dfs(int x){
	if (vis[x]) return d[x];
	vis[x]=1;
	d[x]=0;
	for (int i=0;i<G[x].size();i++){
		d[x]=(d[x]+dfs(G[x][i]))%mod;
	}
	return d[x];
}
int main(){
	freopen("three_squirrels.in","r",stdin);
	freopen("three_squirrels.out","w",stdout);
	read();
//	dfs(n);
	printf("%d",dfs(n));
	return 0;
}