zoukankan      html  css  js  c++  java
  • CodeForces 839C

    起初误以为到每个叶子的概率一样于是....

    /*
    CodeForces 839C - Journey [ DFS,期望 ]	|	Codeforces Round #428 (Div. 2)
    */
    #include <bits/stdc++.h>
    using namespace std;
    const int N = 100005;
    int n;
    vector<int> G[N];
    double dp[N], val[N];
    bool vis[N];
    void dfs(int u, int pre)
    {
        bool flag = 0;
        for (auto&v : G[u])
        {
            if (v == pre) continue;
            flag = 1;
            dp[v] = dp[u]+1;
            val[v] = val[u] / (G[u].size()-1);
            dfs(v, u);
        }
        if (!flag) vis[u] = 1;
    }
    int main()
    {
        scanf("%d", &n);
        for (int i = 1; i < n; i++)
        {
            int u, v; scanf("%d%d", &u, &v);
            G[u].push_back(v);
            G[v].push_back(u);
        }
        G[1].push_back(1);
        val[1] = 1;
        dfs(1, 1);
        int cnt = 0;
        double ans = 0;
        for (int i = 1; i <= n; i++)
            if (vis[i]) ans += dp[i]*val[i];
        printf("%.15f
    ", ans);
    }
    

      

  • 相关阅读:
    生成器
    迭代器
    装饰器
    闭包函数
    函数对象
    函数
    文件
    字符编码
    基本的数据类型和内置方法02
    基本的数据类型和内置方法01
  • 原文地址:https://www.cnblogs.com/nicetomeetu/p/7353688.html
Copyright © 2011-2022 走看看