记录编号 326260 评测结果 AAAAAAAAAA
题目名称 森林大礼包 最终得分 100
用户昵称 Gravatar小明 是否通过 通过
代码语言 C++ 运行时间 0.896 s
提交时间 2016-10-20 23:22:01 内存使用 6.95 MiB
显示代码纯文本
  1. #include<stdio.h>
  2. using namespace std;
  3. int a[100020][20];
  4. int b[100020];
  5. int c[100020]={0};
  6. int n;
  7. void read()
  8. {
  9. scanf("%d",&n);
  10. for(int i=1;i<=n;i++)
  11. {
  12. scanf("%d",&b[i]);
  13. for(int j=1;j<=b[i];j++)
  14. scanf("%d",&a[i][j]);
  15. }
  16. c[0]=1;
  17. }
  18. int dfs(int x)
  19. {
  20. int z=0;
  21. if(c[x]==0)
  22. for(int i=1;i<=b[x];i++)
  23. {
  24. z+=dfs(a[x][i]);
  25. z%=1000000007;
  26. }
  27. else
  28. return c[x];
  29. c[x]=z%1000000007;
  30. return c[x];
  31. }
  32. int main()
  33. {
  34. freopen("three_squirrels.in","r",stdin);
  35. freopen("three_squirrels.out","w",stdout);
  36. read();
  37. printf("%d",dfs(n));
  38. return 0;
  39. }