fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const long long MaxN = 1e5 + 5, MOD= 1e9+7;
  4. long long n, dp[MaxN];
  5. vector<long long> a[MaxN];
  6. void dfs(long long u, long long par)
  7. {
  8. for (long long v : a[u])
  9. {
  10. if(v==par) continue;
  11. dfs(v,u);
  12. dp[u]=((dp[u]%MOD)*(dp[v]+1)%MOD)%MOD;
  13.  
  14. }
  15. }
  16. void input()
  17. {
  18. cin >> n;
  19. for (long long i=1; i<n ;i++)
  20. {
  21. long long u,v;
  22. cin >> u >> v;
  23. a[u].push_back(v);
  24. a[v].push_back(u);
  25. }
  26. }
  27. void solve()
  28. {
  29. memset(dp,0,sizeof(dp));
  30. for (long long i=1; i<=n ;i++)
  31. {
  32. dp[i]=1;
  33. }
  34. dfs(1,-1);
  35. long long ans=0;
  36. for (long long i=1; i<=n; i++)
  37. {
  38. ans=(ans+ dp[i])%MOD;
  39. }
  40. cout << ans;
  41. }
  42. int main()
  43. {
  44. ios_base::sync_with_stdio(0);
  45. cin.tie(0);
  46. input();
  47. solve();
  48. }
Success #stdin #stdout 0.01s 6816KB
stdin
Standard input is empty
stdout
Standard output is empty