比赛 NOIP模拟赛by mzx Day2 评测结果 AAAAAAAWWW
题目名称 森林大礼包 最终得分 70
用户昵称 Theodore 运行时间 0.915 s
代码语言 C++ 内存使用 9.07 MiB
提交时间 2016-10-20 19:35:36
显示代码纯文本
#include<map>
#include<queue>
#include<cmath>
#include<ctime>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iomanip>
#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long 
#define MM 1000000007

struct T{
	ll sm,a[11],sj;
}e[111111];
ll n,ans=0;
bool flag=0;

ll read(){
	char ch=getchar();ll x=0,f=1;
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
	while(ch<='9'&&ch>='0'){x=x*10+ch-'0';ch=getchar();}
	return x*f;
}
void init(){
	n=read();
	memset(e,0,sizeof(e));
	e[0].sj=1;
	for(int i=1;i<=n;i++){
		e[i].sm=read();
		for(int j=1;j<=e[i].sm;j++){
			e[i].a[j]=read();
			if(e[i].a[j]>i)flag=1;
			if(!flag){
				ll v=e[i].a[j];
				e[i].sj+=e[v].sj;
				while(e[i].sj>=MM)e[i].sj-=MM;
			}
		}
	}
}
void work(){
	cout<<0<<endl;
}
int main(){
	freopen("three_squirrels.in","r",stdin);
	freopen("three_squirrels.out","w",stdout);
	init();
	if(!flag)cout<<e[n].sj<<endl;
	else work();
	return 0;
}