比赛 NOIP模拟赛by mzx Day2 评测结果 WAWAWWWWWW
题目名称 森林大礼包 最终得分 20
用户昵称 ciyou 运行时间 3.105 s
代码语言 C++ 内存使用 1.78 MiB
提交时间 2016-10-20 21:52:07
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<vector>
using namespace std;
queue<int> Q;
vector<int> P[100002];
int N,ans[100002],vis[100002];
int main(){
	freopen("three_squirrels.in","r",stdin);
	freopen("three_squirrels.out","w",stdout);
	cin>>N;
	for(int i=1;i<=N;i++){
		int sn;
		cin>>sn;
		for(int j=1;j<=sn;j++){
			int t;
			cin>>t;
			P[t].push_back(i);
		}
	}
	memset(ans,0,sizeof(ans));
	memset(vis,0,sizeof(vis));
	Q.push(0);
	ans[0]=1;
	while(!Q.empty()){
		int p=Q.front();
		Q.pop();
		if(vis[p]) continue;
		else vis[p]=1;
		for(int i=0;i<P[p].size();i++){
			int to=P[p][i];
			ans[to]+=ans[p];
			ans[to]%=99999993;
			Q.push(to);
		}
	}
	cout<<ans[N];
	fclose(stdin);
	fclose(stdout);
	return 0;
}