比赛 |
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;
}